YES 21.828
↳ HASKELL
↳ LR
((plusFM_C :: (Ord a, Ord c) => (b -> b -> b) -> FiniteMap (c,a) b -> FiniteMap (c,a) b -> FiniteMap (c,a) b) :: (Ord a, Ord c) => (b -> b -> b) -> FiniteMap (c,a) b -> FiniteMap (c,a) b -> FiniteMap (c,a) b) |
import qualified Maybe import qualified Prelude |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
instance (Eq a, Eq b) => Eq (FiniteMap a b) where
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
addToFM :: Ord b => FiniteMap b a -> b -> a -> FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
addToFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> a -> b -> FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
emptyFM :: FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
findMax :: FiniteMap b a -> (b,a)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
findMin :: FiniteMap a b -> (a,b)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fmToList :: FiniteMap a b -> [(a,b)]
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
foldFM :: (c -> b -> a -> a) -> a -> FiniteMap c b -> a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lookupFM :: Ord b => FiniteMap b a -> b -> Maybe a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mkBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mkBranch :: Ord a => Int -> a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mkVBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
plusFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sIZE_RATIO :: Int
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sizeFM :: FiniteMap b a -> Int
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
splitGT :: Ord a => FiniteMap a b -> a -> FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
splitLT :: Ord a => FiniteMap a b -> a -> FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
unitFM :: a -> b -> FiniteMap a b
|
import qualified FiniteMap import qualified Prelude |
\keyeltrest→(key,elt) : rest
fmToList0 key elt rest = (key,elt) : rest
\oldnew→new
addToFM0 old new = new
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
((plusFM_C :: (Ord c, Ord a) => (b -> b -> b) -> FiniteMap (c,a) b -> FiniteMap (c,a) b -> FiniteMap (c,a) b) :: (Ord a, Ord c) => (b -> b -> b) -> FiniteMap (c,a) b -> FiniteMap (c,a) b -> FiniteMap (c,a) b) |
import qualified Maybe import qualified Prelude |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
instance (Eq a, Eq b) => Eq (FiniteMap b a) where
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
addToFM :: Ord a => FiniteMap a b -> a -> b -> FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
addToFM_C :: Ord b => (a -> a -> a) -> FiniteMap b a -> b -> a -> FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
emptyFM :: FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
findMax :: FiniteMap a b -> (a,b)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
findMin :: FiniteMap a b -> (a,b)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fmToList :: FiniteMap b a -> [(b,a)]
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
foldFM :: (b -> a -> c -> c) -> c -> FiniteMap b a -> c
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lookupFM :: Ord a => FiniteMap a b -> a -> Maybe b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mkBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mkBranch :: Ord b => Int -> b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mkVBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
plusFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sIZE_RATIO :: Int
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sizeFM :: FiniteMap b a -> Int
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
splitGT :: Ord b => FiniteMap b a -> b -> FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
splitLT :: Ord a => FiniteMap a b -> a -> FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
unitFM :: a -> b -> FiniteMap a b
|
import qualified FiniteMap import qualified Prelude |
case fm_l of EmptyFM → True Branch left_key _ _ _ _ →
let
biggest_left_key = fst (findMax fm_l) in biggest_left_key < key
left_ok0 fm_l key EmptyFM = True left_ok0 fm_l key (Branch left_key _ _ _ _) =
let
biggest_left_key = fst (findMax fm_l) in biggest_left_key < key
case fm_r of EmptyFM → True Branch right_key _ _ _ _ →
let
smallest_right_key = fst (findMin fm_r) in key < smallest_right_key
right_ok0 fm_r key EmptyFM = True right_ok0 fm_r key (Branch right_key _ _ _ _) =
let
smallest_right_key = fst (findMin fm_r) in key < smallest_right_key
case fm_R of Branch _ _ _ fm_rl fm_rr
| sizeFM fm_rl < 2 * sizeFM fm_rr
→ single_L fm_L fm_R | otherwise
→ double_L fm_L fm_R
mkBalBranch0 fm_L fm_R (Branch _ _ _ fm_rl fm_rr)
| sizeFM fm_rl < 2 * sizeFM fm_rr
= single_L fm_L fm_R | otherwise
= double_L fm_L fm_R
case fm_L of Branch _ _ _ fm_ll fm_lr
| sizeFM fm_lr < 2 * sizeFM fm_ll
→ single_R fm_L fm_R | otherwise
→ double_R fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch _ _ _ fm_ll fm_lr)
| sizeFM fm_lr < 2 * sizeFM fm_ll
= single_R fm_L fm_R | otherwise
= double_R fm_L fm_R
case lookupFM fm1 split_key of Nothing → elt2 Just elt1 → combiner elt1 elt2
new_elt0 elt2 combiner Nothing = elt2 new_elt0 elt2 combiner (Just elt1) = combiner elt1 elt2
case compare x y of EQ → o LT → LT GT → GT
primCompAux0 o EQ = o primCompAux0 o LT = LT primCompAux0 o GT = GT
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
↳ HASKELL
↳ IFR
((plusFM_C :: (Ord a, Ord b) => (c -> c -> c) -> FiniteMap (a,b) c -> FiniteMap (a,b) c -> FiniteMap (a,b) c) :: (Ord a, Ord b) => (c -> c -> c) -> FiniteMap (a,b) c -> FiniteMap (a,b) c -> FiniteMap (a,b) c) |
import qualified Maybe import qualified Prelude |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
instance (Eq a, Eq b) => Eq (FiniteMap a b) where
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
addToFM :: Ord b => FiniteMap b a -> b -> a -> FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
addToFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> a -> b -> FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
emptyFM :: FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
findMax :: FiniteMap a b -> (a,b)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
findMin :: FiniteMap a b -> (a,b)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fmToList :: FiniteMap a b -> [(a,b)]
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
foldFM :: (c -> b -> a -> a) -> a -> FiniteMap c b -> a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lookupFM :: Ord b => FiniteMap b a -> b -> Maybe a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mkBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mkBranch :: Ord b => Int -> b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mkVBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
plusFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sIZE_RATIO :: Int
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sizeFM :: FiniteMap b a -> Int
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
splitGT :: Ord a => FiniteMap a b -> a -> FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
splitLT :: Ord a => FiniteMap a b -> a -> FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
unitFM :: a -> b -> FiniteMap a b
|
import qualified FiniteMap import qualified Prelude |
if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero
primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y)) primDivNatS0 x y False = Zero
if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x
primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y) primModNatS0 x y False = Succ x
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
↳ HASKELL
↳ IFR
↳ HASKELL
↳ BR
((plusFM_C :: (Ord b, Ord c) => (a -> a -> a) -> FiniteMap (c,b) a -> FiniteMap (c,b) a -> FiniteMap (c,b) a) :: (Ord b, Ord c) => (a -> a -> a) -> FiniteMap (c,b) a -> FiniteMap (c,b) a -> FiniteMap (c,b) a) |
import qualified Maybe import qualified Prelude |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
instance (Eq a, Eq b) => Eq (FiniteMap b a) where
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
addToFM :: Ord b => FiniteMap b a -> b -> a -> FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
addToFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> a -> b -> FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
emptyFM :: FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
findMax :: FiniteMap b a -> (b,a)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
findMin :: FiniteMap a b -> (a,b)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fmToList :: FiniteMap b a -> [(b,a)]
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
foldFM :: (a -> c -> b -> b) -> b -> FiniteMap a c -> b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lookupFM :: Ord b => FiniteMap b a -> b -> Maybe a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mkBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mkBranch :: Ord b => Int -> b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mkVBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
plusFM_C :: Ord b => (a -> a -> a) -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sIZE_RATIO :: Int
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sizeFM :: FiniteMap b a -> Int
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
splitGT :: Ord a => FiniteMap a b -> a -> FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
splitLT :: Ord b => FiniteMap b a -> b -> FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
unitFM :: b -> a -> FiniteMap b a
|
import qualified FiniteMap import qualified Prelude |
fm_l@(Branch yy yz zu zv zw)
Branch yy yz zu zv zw
fm_r@(Branch zy zz vuu vuv vuw)
Branch zy zz vuu vuv vuw
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
↳ HASKELL
↳ IFR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
((plusFM_C :: (Ord c, Ord b) => (a -> a -> a) -> FiniteMap (c,b) a -> FiniteMap (c,b) a -> FiniteMap (c,b) a) :: (Ord c, Ord b) => (a -> a -> a) -> FiniteMap (c,b) a -> FiniteMap (c,b) a -> FiniteMap (c,b) a) |
import qualified Maybe import qualified Prelude |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
instance (Eq a, Eq b) => Eq (FiniteMap b a) where
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
addToFM :: Ord a => FiniteMap a b -> a -> b -> FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
addToFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> a -> b -> FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
emptyFM :: FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
findMax :: FiniteMap b a -> (b,a)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
findMin :: FiniteMap a b -> (a,b)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fmToList :: FiniteMap a b -> [(a,b)]
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
foldFM :: (a -> c -> b -> b) -> b -> FiniteMap a c -> b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lookupFM :: Ord a => FiniteMap a b -> a -> Maybe b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mkBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mkBranch :: Ord b => Int -> b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mkVBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
plusFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sIZE_RATIO :: Int
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sizeFM :: FiniteMap b a -> Int
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
splitGT :: Ord b => FiniteMap b a -> b -> FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
splitLT :: Ord b => FiniteMap b a -> b -> FiniteMap b a
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
unitFM :: b -> a -> FiniteMap b a
|
import qualified FiniteMap import qualified Prelude |
splitLT EmptyFM split_key = emptyFM splitLT (Branch key elt xx fm_l fm_r) split_key
| split_key < key
= splitLT fm_l split_key | split_key > key
= mkVBalBranch key elt fm_l (splitLT fm_r split_key) | otherwise
= fm_l
splitLT EmptyFM split_key = splitLT4 EmptyFM split_key splitLT (Branch key elt xx fm_l fm_r) split_key = splitLT3 (Branch key elt xx fm_l fm_r) split_key
splitLT0 key elt xx fm_l fm_r split_key True = fm_l
splitLT2 key elt xx fm_l fm_r split_key True = splitLT fm_l split_key splitLT2 key elt xx fm_l fm_r split_key False = splitLT1 key elt xx fm_l fm_r split_key (split_key > key)
splitLT1 key elt xx fm_l fm_r split_key True = mkVBalBranch key elt fm_l (splitLT fm_r split_key) splitLT1 key elt xx fm_l fm_r split_key False = splitLT0 key elt xx fm_l fm_r split_key otherwise
splitLT3 (Branch key elt xx fm_l fm_r) split_key = splitLT2 key elt xx fm_l fm_r split_key (split_key < key)
splitLT4 EmptyFM split_key = emptyFM splitLT4 www wwx = splitLT3 www wwx
splitGT EmptyFM split_key = emptyFM splitGT (Branch key elt xy fm_l fm_r) split_key
| split_key > key
= splitGT fm_r split_key | split_key < key
= mkVBalBranch key elt (splitGT fm_l split_key) fm_r | otherwise
= fm_r
splitGT EmptyFM split_key = splitGT4 EmptyFM split_key splitGT (Branch key elt xy fm_l fm_r) split_key = splitGT3 (Branch key elt xy fm_l fm_r) split_key
splitGT0 key elt xy fm_l fm_r split_key True = fm_r
splitGT1 key elt xy fm_l fm_r split_key True = mkVBalBranch key elt (splitGT fm_l split_key) fm_r splitGT1 key elt xy fm_l fm_r split_key False = splitGT0 key elt xy fm_l fm_r split_key otherwise
splitGT2 key elt xy fm_l fm_r split_key True = splitGT fm_r split_key splitGT2 key elt xy fm_l fm_r split_key False = splitGT1 key elt xy fm_l fm_r split_key (split_key < key)
splitGT3 (Branch key elt xy fm_l fm_r) split_key = splitGT2 key elt xy fm_l fm_r split_key (split_key > key)
splitGT4 EmptyFM split_key = emptyFM splitGT4 wxu wxv = splitGT3 wxu wxv
mkVBalBranch key elt EmptyFM fm_r = addToFM fm_r key elt mkVBalBranch key elt fm_l EmptyFM = addToFM fm_l key elt mkVBalBranch key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
| sIZE_RATIO * size_l < size_r
= mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zw) vuv) vuw | sIZE_RATIO * size_r < size_l
= mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw)) | otherwise
= mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw) where
size_l = sizeFM (Branch yy yz zu zv zw)
size_r = sizeFM (Branch zy zz vuu vuv vuw)
mkVBalBranch key elt EmptyFM fm_r = mkVBalBranch5 key elt EmptyFM fm_r mkVBalBranch key elt fm_l EmptyFM = mkVBalBranch4 key elt fm_l EmptyFM mkVBalBranch key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw) = mkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
mkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw) =
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_l < size_r) where
mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw)) mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zw) vuv) vuw mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_r < size_l)
size_l = sizeFM (Branch yy yz zu zv zw)
size_r = sizeFM (Branch zy zz vuu vuv vuw)
mkVBalBranch4 key elt fm_l EmptyFM = addToFM fm_l key elt mkVBalBranch4 wxz wyu wyv wyw = mkVBalBranch3 wxz wyu wyv wyw
mkVBalBranch5 key elt EmptyFM fm_r = addToFM fm_r key elt mkVBalBranch5 wyy wyz wzu wzv = mkVBalBranch4 wyy wyz wzu wzv
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
| sizeFM fm_lr < 2 * sizeFM fm_ll
= single_R fm_L fm_R | otherwise
= double_R fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = single_R fm_L fm_R mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise
mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = double_R fm_L fm_R
mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
| sizeFM fm_rl < 2 * sizeFM fm_rr
= single_L fm_L fm_R | otherwise
= double_L fm_L fm_R
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = single_L fm_L fm_R mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise
mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = double_L fm_L fm_R
mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)
mkBalBranch key elt fm_L fm_R
| size_l + size_r < 2
= mkBranch 1 key elt fm_L fm_R | size_r > sIZE_RATIO * size_l
= mkBalBranch0 fm_L fm_R fm_R | size_l > sIZE_RATIO * size_r
= mkBalBranch1 fm_L fm_R fm_L | otherwise
= mkBranch 2 key elt fm_L fm_R where
double_L fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlr) fm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
| sizeFM fm_rl < 2 * sizeFM fm_rr
= single_L fm_L fm_R | otherwise
= double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
| sizeFM fm_lr < 2 * sizeFM fm_ll
= single_R fm_L fm_R | otherwise
= double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r vww fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l vux fm_ll fm_lr) fm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l = sizeFM fm_L
size_r = sizeFM fm_R
mkBalBranch key elt fm_L fm_R = mkBalBranch6 key elt fm_L fm_R
mkBalBranch6 key elt fm_L fm_R =
mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2) where
double_L fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlr) fm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = double_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = single_L fm_L fm_R mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise
mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = double_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = single_R fm_L fm_R mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise
mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)
mkBalBranch2 key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R
mkBalBranch3 key elt fm_L fm_R True = mkBalBranch1 fm_L fm_R fm_L mkBalBranch3 key elt fm_L fm_R False = mkBalBranch2 key elt fm_L fm_R otherwise
mkBalBranch4 key elt fm_L fm_R True = mkBalBranch0 fm_L fm_R fm_R mkBalBranch4 key elt fm_L fm_R False = mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r)
mkBalBranch5 key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R mkBalBranch5 key elt fm_L fm_R False = mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l)
single_L fm_l (Branch key_r elt_r vww fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l vux fm_ll fm_lr) fm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l = sizeFM fm_L
size_r = sizeFM fm_R
addToFM_C combiner EmptyFM key elt = unitFM key elt addToFM_C combiner (Branch key elt size fm_l fm_r) new_key new_elt
| new_key < key
= mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r | new_key > key
= mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt) | otherwise
= Branch new_key (combiner elt new_elt) size fm_l fm_r
addToFM_C combiner EmptyFM key elt = addToFM_C4 combiner EmptyFM key elt addToFM_C combiner (Branch key elt size fm_l fm_r) new_key new_elt = addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt
addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True = Branch new_key (combiner elt new_elt) size fm_l fm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True = mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False = addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt) addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False = addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise
addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt = addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)
addToFM_C4 combiner EmptyFM key elt = unitFM key elt addToFM_C4 xuu xuv xuw xux = addToFM_C3 xuu xuv xuw xux
lookupFM EmptyFM key = Nothing lookupFM (Branch key elt vxv fm_l fm_r) key_to_find
| key_to_find < key
= lookupFM fm_l key_to_find | key_to_find > key
= lookupFM fm_r key_to_find | otherwise
= Just elt
lookupFM EmptyFM key = lookupFM4 EmptyFM key lookupFM (Branch key elt vxv fm_l fm_r) key_to_find = lookupFM3 (Branch key elt vxv fm_l fm_r) key_to_find
lookupFM0 key elt vxv fm_l fm_r key_to_find True = Just elt
lookupFM2 key elt vxv fm_l fm_r key_to_find True = lookupFM fm_l key_to_find lookupFM2 key elt vxv fm_l fm_r key_to_find False = lookupFM1 key elt vxv fm_l fm_r key_to_find (key_to_find > key)
lookupFM1 key elt vxv fm_l fm_r key_to_find True = lookupFM fm_r key_to_find lookupFM1 key elt vxv fm_l fm_r key_to_find False = lookupFM0 key elt vxv fm_l fm_r key_to_find otherwise
lookupFM3 (Branch key elt vxv fm_l fm_r) key_to_find = lookupFM2 key elt vxv fm_l fm_r key_to_find (key_to_find < key)
lookupFM4 EmptyFM key = Nothing lookupFM4 xvu xvv = lookupFM3 xvu xvv
compare x y
| x == y
= EQ | x <= y
= LT | otherwise
= GT
compare x y = compare3 x y
compare1 x y True = LT compare1 x y False = compare0 x y otherwise
compare0 x y True = GT
compare2 x y True = EQ compare2 x y False = compare1 x y (x <= y)
compare3 x y = compare2 x y (x == y)
gcd' x 0 = x gcd' x y = gcd' y (x `rem` y)
gcd' x xvw = gcd'2 x xvw gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x xvw = x gcd'1 xvx xvy xvz = gcd'0 xvy xvz
gcd'2 x xvw = gcd'1 (xvw == 0) x xvw gcd'2 xwu xwv = gcd'0 xwu xwv
gcd 0 0 = error [] gcd x y =
gcd' (abs x) (abs y) where
gcd' x 0 = x gcd' x y = gcd' y (x `rem` y)
gcd xww xwx = gcd3 xww xwx gcd x y = gcd0 x y
gcd0 x y =
gcd' (abs x) (abs y) where
gcd' x xvw = gcd'2 x xvw gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x xvw = x gcd'1 xvx xvy xvz = gcd'0 xvy xvz
gcd'2 x xvw = gcd'1 (xvw == 0) x xvw gcd'2 xwu xwv = gcd'0 xwu xwv
gcd1 True xww xwx = error [] gcd1 xwy xwz xxu = gcd0 xwz xxu
gcd2 True xww xwx = gcd1 (xwx == 0) xww xwx gcd2 xxv xxw xxx = gcd0 xxw xxx
gcd3 xww xwx = gcd2 (xww == 0) xww xwx gcd3 xxy xxz = gcd0 xxy xxz
absReal x
| x >= 0
= x | otherwise
= `negate` x
absReal x = absReal2 x
absReal1 x True = x absReal1 x False = absReal0 x otherwise
absReal0 x True = `negate` x
absReal2 x = absReal1 x (x >= 0)
undefined
| False
= undefined
undefined = undefined1
undefined0 True = undefined
undefined1 = undefined0 False
reduce x y
| y == 0
= error [] | otherwise
= x `quot` d :% (y `quot` d) where
d = gcd x y
reduce x y = reduce2 x y
reduce2 x y =
reduce1 x y (y == 0) where
d = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error [] reduce1 x y False = reduce0 x y otherwise
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
↳ HASKELL
↳ IFR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
((plusFM_C :: (Ord b, Ord a) => (c -> c -> c) -> FiniteMap (a,b) c -> FiniteMap (a,b) c -> FiniteMap (a,b) c) :: (Ord a, Ord b) => (c -> c -> c) -> FiniteMap (a,b) c -> FiniteMap (a,b) c -> FiniteMap (a,b) c) |
import qualified Maybe import qualified Prelude |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
instance (Eq a, Eq b) => Eq (FiniteMap a b) where
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
addToFM :: Ord a => FiniteMap a b -> a -> b -> FiniteMap a b
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
addToFM_C :: Ord b => (a -> a -> a) -> FiniteMap b a -> b -> a -> FiniteMap b a
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
emptyFM :: FiniteMap b a
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
findMax :: FiniteMap a b -> (a,b)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
findMin :: FiniteMap a b -> (a,b)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fmToList :: FiniteMap a b -> [(a,b)]
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
foldFM :: (a -> b -> c -> c) -> c -> FiniteMap a b -> c
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lookupFM :: Ord b => FiniteMap b a -> b -> Maybe a
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mkBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mkBranch :: Ord b => Int -> b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mkVBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
plusFM_C :: Ord b => (a -> a -> a) -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sIZE_RATIO :: Int
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sizeFM :: FiniteMap b a -> Int
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
splitGT :: Ord a => FiniteMap a b -> a -> FiniteMap a b
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
splitLT :: Ord a => FiniteMap a b -> a -> FiniteMap a b
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
unitFM :: a -> b -> FiniteMap a b
|
import qualified FiniteMap import qualified Prelude |
mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2) where
double_L fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlr) fm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = double_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = single_L fm_L fm_R mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise
mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = double_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = single_R fm_L fm_R mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise
mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)
mkBalBranch2 key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R
mkBalBranch3 key elt fm_L fm_R True = mkBalBranch1 fm_L fm_R fm_L mkBalBranch3 key elt fm_L fm_R False = mkBalBranch2 key elt fm_L fm_R otherwise
mkBalBranch4 key elt fm_L fm_R True = mkBalBranch0 fm_L fm_R fm_R mkBalBranch4 key elt fm_L fm_R False = mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r)
mkBalBranch5 key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R mkBalBranch5 key elt fm_L fm_R False = mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l)
single_L fm_l (Branch key_r elt_r vww fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l vux fm_ll fm_lr) fm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l = sizeFM fm_L
size_r = sizeFM fm_R
mkBalBranch6Single_R xyu xyv xyw xyx (Branch key_l elt_l vux fm_ll fm_lr) fm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 xyu xyv fm_lr fm_r)
mkBalBranch6Single_L xyu xyv xyw xyx fm_l (Branch key_r elt_r vww fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 xyu xyv fm_l fm_rl) fm_rr
mkBalBranch6Size_r xyu xyv xyw xyx = sizeFM xyw
mkBalBranch6MkBalBranch02 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)
mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R True = mkBalBranch6MkBalBranch0 xyu xyv xyw xyx fm_L fm_R fm_R mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R False = mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R (mkBalBranch6Size_l xyu xyv xyw xyx > sIZE_RATIO * mkBalBranch6Size_r xyu xyv xyw xyx)
mkBalBranch6MkBalBranch10 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr True = mkBalBranch6Double_R xyu xyv xyw xyx fm_L fm_R
mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr True = mkBalBranch6Single_L xyu xyv xyw xyx fm_L fm_R mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr False = mkBalBranch6MkBalBranch00 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise
mkBalBranch6Double_R xyu xyv xyw xyx (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 xyu xyv fm_lrr fm_r)
mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R True = mkBalBranch6MkBalBranch1 xyu xyv xyw xyx fm_L fm_R fm_L mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R False = mkBalBranch6MkBalBranch2 xyu xyv xyw xyx key elt fm_L fm_R otherwise
mkBalBranch6MkBalBranch2 xyu xyv xyw xyx key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R
mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr True = mkBalBranch6Single_R xyu xyv xyw xyx fm_L fm_R mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr False = mkBalBranch6MkBalBranch10 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise
mkBalBranch6Double_L xyu xyv xyw xyx fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlr) fm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 xyu xyv fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
mkBalBranch6Size_l xyu xyv xyw xyx = sizeFM xyx
mkBalBranch6MkBalBranch0 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch6MkBalBranch02 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
mkBalBranch6MkBalBranch5 xyu xyv xyw xyx key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R mkBalBranch6MkBalBranch5 xyu xyv xyw xyx key elt fm_L fm_R False = mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R (mkBalBranch6Size_r xyu xyv xyw xyx > sIZE_RATIO * mkBalBranch6Size_l xyu xyv xyw xyx)
mkBalBranch6MkBalBranch12 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)
mkBalBranch6MkBalBranch00 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr True = mkBalBranch6Double_L xyu xyv xyw xyx fm_L fm_R
mkBalBranch6MkBalBranch1 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch6MkBalBranch12 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
let
result = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r in result where
balance_ok = True
left_ok = left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM = True left_ok0 fm_l key (Branch left_key vw vx vy vz) =
let
biggest_left_key = fst (findMax fm_l) in biggest_left_key < key
left_size = sizeFM fm_l
right_ok = right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM = True right_ok0 fm_r key (Branch right_key wu wv ww wx) =
let
smallest_right_key = fst (findMin fm_r) in key < smallest_right_key
right_size = sizeFM fm_r
unbox x = x
mkBranchRight_size xyy xyz xzu = sizeFM xyy
mkBranchRight_ok0 xyy xyz xzu fm_r key EmptyFM = True mkBranchRight_ok0 xyy xyz xzu fm_r key (Branch right_key wu wv ww wx) = key < mkBranchRight_ok0Smallest_right_key fm_r
mkBranchBalance_ok xyy xyz xzu = True
mkBranchUnbox xyy xyz xzu x = x
mkBranchLeft_size xyy xyz xzu = sizeFM xyz
mkBranchRight_ok xyy xyz xzu = mkBranchRight_ok0 xyy xyz xzu xyy xzu xyy
mkBranchLeft_ok0 xyy xyz xzu fm_l key EmptyFM = True mkBranchLeft_ok0 xyy xyz xzu fm_l key (Branch left_key vw vx vy vz) = mkBranchLeft_ok0Biggest_left_key fm_l < key
mkBranchLeft_ok xyy xyz xzu = mkBranchLeft_ok0 xyy xyz xzu xyz xzu xyz
let
result = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r in result
mkBranchResult xzv xzw xzx xzy = Branch xzv xzw (mkBranchUnbox xzx xzy xzv (1 + mkBranchLeft_size xzx xzy xzv + mkBranchRight_size xzx xzy xzv)) xzy xzx
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_l < size_r) where
mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw)) mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zw) vuv) vuw mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_r < size_l)
size_l = sizeFM (Branch yy yz zu zv zw)
size_r = sizeFM (Branch zy zz vuu vuv vuw)
mkVBalBranch3MkVBalBranch0 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
mkVBalBranch3MkVBalBranch2 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zw) vuv) vuw mkVBalBranch3MkVBalBranch2 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * mkVBalBranch3Size_r xzz yuu yuv yuw yux yuy yuz yvu yvv yvw < mkVBalBranch3Size_l xzz yuu yuv yuw yux yuy yuz yvu yvv yvw)
mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw)) mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch3MkVBalBranch0 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise
mkVBalBranch3Size_r xzz yuu yuv yuw yux yuy yuz yvu yvv yvw = sizeFM (Branch xzz yuu yuv yuw yux)
mkVBalBranch3Size_l xzz yuu yuv yuw yux yuy yuz yvu yvv yvw = sizeFM (Branch yuy yuz yvu yvv yvw)
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right) where
gts = splitGT fm1 split_key
lts = splitLT fm1 split_key
new_elt = new_elt0 elt2 combiner (lookupFM fm1 split_key)
new_elt0 elt2 combiner Nothing = elt2 new_elt0 elt2 combiner (Just elt1) = combiner elt1 elt2
plusFM_CNew_elt yvx yvy yvz ywu = plusFM_CNew_elt0 yvx yvy yvz ywu yvx yvy (lookupFM yvz ywu)
plusFM_CLts yvx yvy yvz ywu = splitLT yvz ywu
plusFM_CGts yvx yvy yvz ywu = splitGT yvz ywu
plusFM_CNew_elt0 yvx yvy yvz ywu elt2 combiner Nothing = elt2 plusFM_CNew_elt0 yvx yvy yvz ywu elt2 combiner (Just elt1) = combiner elt1 elt2
let
smallest_right_key = fst (findMin fm_r) in key < smallest_right_key
mkBranchRight_ok0Smallest_right_key ywv = fst (findMin ywv)
let
biggest_left_key = fst (findMax fm_l) in biggest_left_key < key
mkBranchLeft_ok0Biggest_left_key yww = fst (findMax yww)
reduce1 x y (y == 0) where
d = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error [] reduce1 x y False = reduce0 x y otherwise
reduce2Reduce1 ywx ywy x y True = error [] reduce2Reduce1 ywx ywy x y False = reduce2Reduce0 ywx ywy x y otherwise
reduce2D ywx ywy = gcd ywx ywy
reduce2Reduce0 ywx ywy x y True = x `quot` reduce2D ywx ywy :% (y `quot` reduce2D ywx ywy)
gcd' (abs x) (abs y) where
gcd' x xvw = gcd'2 x xvw gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x xvw = x gcd'1 xvx xvy xvz = gcd'0 xvy xvz
gcd'2 x xvw = gcd'1 (xvw == 0) x xvw gcd'2 xwu xwv = gcd'0 xwu xwv
gcd0Gcd' x xvw = gcd0Gcd'2 x xvw gcd0Gcd' x y = gcd0Gcd'0 x y
gcd0Gcd'2 x xvw = gcd0Gcd'1 (xvw == 0) x xvw gcd0Gcd'2 xwu xwv = gcd0Gcd'0 xwu xwv
gcd0Gcd'1 True x xvw = x gcd0Gcd'1 xvx xvy xvz = gcd0Gcd'0 xvy xvz
gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y)
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
↳ HASKELL
↳ IFR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ NumRed
((plusFM_C :: (Ord b, Ord a) => (c -> c -> c) -> FiniteMap (a,b) c -> FiniteMap (a,b) c -> FiniteMap (a,b) c) :: (Ord a, Ord b) => (c -> c -> c) -> FiniteMap (a,b) c -> FiniteMap (a,b) c -> FiniteMap (a,b) c) |
import qualified Maybe import qualified Prelude |
|||||||||||||
data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) |
|||||||||||||
instance (Eq a, Eq b) => Eq (FiniteMap b a) where
|
|||||||||||||
addToFM :: Ord a => FiniteMap a b -> a -> b -> FiniteMap a b
|
|||||||||||||
|
|||||||||||||
addToFM_C :: Ord b => (a -> a -> a) -> FiniteMap b a -> b -> a -> FiniteMap b a
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
emptyFM :: FiniteMap a b
|
|||||||||||||
findMax :: FiniteMap a b -> (a,b)
|
|||||||||||||
findMin :: FiniteMap b a -> (b,a)
|
|||||||||||||
fmToList :: FiniteMap b a -> [(b,a)]
|
|||||||||||||
|
|||||||||||||
foldFM :: (b -> c -> a -> a) -> a -> FiniteMap b c -> a
|
|||||||||||||
lookupFM :: Ord b => FiniteMap b a -> b -> Maybe a
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
mkBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
mkBranch :: Ord a => Int -> a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
mkBranchUnbox :: Ord a => -> (FiniteMap a b) ( -> (FiniteMap a b) ( -> a (Int -> Int)))
|
|||||||||||||
mkVBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
plusFM_C :: Ord a => (b -> b -> b) -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
sIZE_RATIO :: Int
|
|||||||||||||
sizeFM :: FiniteMap a b -> Int
|
|||||||||||||
splitGT :: Ord b => FiniteMap b a -> b -> FiniteMap b a
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
splitLT :: Ord b => FiniteMap b a -> b -> FiniteMap b a
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
unitFM :: b -> a -> FiniteMap b a
|
import qualified FiniteMap import qualified Prelude |
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
↳ HASKELL
↳ IFR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ NumRed
↳ HASKELL
↳ Narrow
(plusFM_C :: (Ord b, Ord a) => (c -> c -> c) -> FiniteMap (b,a) c -> FiniteMap (b,a) c -> FiniteMap (b,a) c) |
import qualified Maybe import qualified Prelude |
|||||||||||||
data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) |
|||||||||||||
instance (Eq a, Eq b) => Eq (FiniteMap b a) where
|
|||||||||||||
addToFM :: Ord b => FiniteMap b a -> b -> a -> FiniteMap b a
|
|||||||||||||
|
|||||||||||||
addToFM_C :: Ord b => (a -> a -> a) -> FiniteMap b a -> b -> a -> FiniteMap b a
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
emptyFM :: FiniteMap b a
|
|||||||||||||
findMax :: FiniteMap a b -> (a,b)
|
|||||||||||||
findMin :: FiniteMap b a -> (b,a)
|
|||||||||||||
fmToList :: FiniteMap b a -> [(b,a)]
|
|||||||||||||
|
|||||||||||||
foldFM :: (a -> c -> b -> b) -> b -> FiniteMap a c -> b
|
|||||||||||||
lookupFM :: Ord a => FiniteMap a b -> a -> Maybe b
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
mkBalBranch :: Ord a => a -> b -> FiniteMap a b -> FiniteMap a b -> FiniteMap a b
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
mkBranch :: Ord b => Int -> b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
mkBranchUnbox :: Ord a => -> (FiniteMap a b) ( -> (FiniteMap a b) ( -> a (Int -> Int)))
|
|||||||||||||
mkVBalBranch :: Ord b => b -> a -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
plusFM_C :: Ord b => (a -> a -> a) -> FiniteMap b a -> FiniteMap b a -> FiniteMap b a
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
sIZE_RATIO :: Int
|
|||||||||||||
sizeFM :: FiniteMap a b -> Int
|
|||||||||||||
splitGT :: Ord a => FiniteMap a b -> a -> FiniteMap a b
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
splitLT :: Ord b => FiniteMap b a -> b -> FiniteMap b a
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
|
|||||||||||||
unitFM :: b -> a -> FiniteMap b a
|
import qualified FiniteMap import qualified Prelude |
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
↳ HASKELL
↳ IFR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ NumRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
new_primMinusNat(Succ(ywz181200), Succ(ywz22500)) → new_primMinusNat(ywz181200, ywz22500)
From the DPs we obtained the following set of size-change graphs:
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
↳ HASKELL
↳ IFR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ NumRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
new_primEqNat(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat(ywz50000, ywz40000)
From the DPs we obtained the following set of size-change graphs:
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
↳ HASKELL
↳ IFR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ NumRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
new_primPlusNat(Succ(ywz21700), Succ(ywz4001000)) → new_primPlusNat(ywz21700, ywz4001000)
From the DPs we obtained the following set of size-change graphs:
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
↳ HASKELL
↳ IFR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ NumRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
new_primMulNat(Succ(ywz500100), Succ(ywz400100)) → new_primMulNat(ywz500100, Succ(ywz400100))
From the DPs we obtained the following set of size-change graphs:
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
↳ HASKELL
↳ IFR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ NumRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
new_primCmpNat(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat(ywz500000, ywz400000)
From the DPs we obtained the following set of size-change graphs:
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
↳ HASKELL
↳ IFR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ NumRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
new_esEs0(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(app(app(ty_@3, cf), cg), da), cb) → new_esEs2(ywz5000, ywz4000, cf, cg, da)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(app(app(ty_@3, gg), gh), ha), gb, gc) → new_esEs2(ywz5000, ywz4000, gg, gh, ha)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), hd, app(app(ty_@2, hf), hg), gc) → new_esEs0(ywz5001, ywz4001, hf, hg)
new_esEs0(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), dd, app(app(app(ty_@3, ea), eb), ec)) → new_esEs2(ywz5001, ywz4001, ea, eb, ec)
new_esEs0(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(app(ty_Either, db), dc), cb) → new_esEs3(ywz5000, ywz4000, db, dc)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), hd, app(app(ty_Either, bad), bae), gc) → new_esEs3(ywz5001, ywz4001, bad, bae)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), hd, gb, app(app(ty_@2, bag), bah)) → new_esEs0(ywz5002, ywz4002, bag, bah)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), hd, app(ty_Maybe, he), gc) → new_esEs(ywz5001, ywz4001, he)
new_esEs3(Right(ywz5000), Right(ywz4000), bda, app(app(ty_Either, bea), beb)) → new_esEs3(ywz5000, ywz4000, bea, beb)
new_esEs1(:(ywz5000, ywz5001), :(ywz4000, ywz4001), fh) → new_esEs1(ywz5001, ywz4001, fh)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(app(ty_@2, gd), ge), gb, gc) → new_esEs0(ywz5000, ywz4000, gd, ge)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), hd, app(ty_[], hh), gc) → new_esEs1(ywz5001, ywz4001, hh)
new_esEs0(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(ty_[], ce), cb) → new_esEs1(ywz5000, ywz4000, ce)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), hd, gb, app(ty_Maybe, baf)) → new_esEs(ywz5002, ywz4002, baf)
new_esEs1(:(ywz5000, ywz5001), :(ywz4000, ywz4001), app(ty_[], fa)) → new_esEs1(ywz5000, ywz4000, fa)
new_esEs(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, bd), be), bf)) → new_esEs2(ywz5000, ywz4000, bd, be, bf)
new_esEs(Just(ywz5000), Just(ywz4000), app(ty_Maybe, h)) → new_esEs(ywz5000, ywz4000, h)
new_esEs0(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), dd, app(app(ty_Either, ed), ee)) → new_esEs3(ywz5001, ywz4001, ed, ee)
new_esEs3(Left(ywz5000), Left(ywz4000), app(app(ty_Either, bcg), bch), bbh) → new_esEs3(ywz5000, ywz4000, bcg, bch)
new_esEs1(:(ywz5000, ywz5001), :(ywz4000, ywz4001), app(app(ty_Either, ff), fg)) → new_esEs3(ywz5000, ywz4000, ff, fg)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(ty_Maybe, ga), gb, gc) → new_esEs(ywz5000, ywz4000, ga)
new_esEs(Just(ywz5000), Just(ywz4000), app(app(ty_@2, ba), bb)) → new_esEs0(ywz5000, ywz4000, ba, bb)
new_esEs3(Left(ywz5000), Left(ywz4000), app(app(ty_@2, bca), bcb), bbh) → new_esEs0(ywz5000, ywz4000, bca, bcb)
new_esEs1(:(ywz5000, ywz5001), :(ywz4000, ywz4001), app(ty_Maybe, ef)) → new_esEs(ywz5000, ywz4000, ef)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(app(ty_Either, hb), hc), gb, gc) → new_esEs3(ywz5000, ywz4000, hb, hc)
new_esEs3(Right(ywz5000), Right(ywz4000), bda, app(app(ty_@2, bdc), bdd)) → new_esEs0(ywz5000, ywz4000, bdc, bdd)
new_esEs3(Right(ywz5000), Right(ywz4000), bda, app(ty_[], bde)) → new_esEs1(ywz5000, ywz4000, bde)
new_esEs(Just(ywz5000), Just(ywz4000), app(ty_[], bc)) → new_esEs1(ywz5000, ywz4000, bc)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), hd, app(app(app(ty_@3, baa), bab), bac), gc) → new_esEs2(ywz5001, ywz4001, baa, bab, bac)
new_esEs0(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(ty_Maybe, ca), cb) → new_esEs(ywz5000, ywz4000, ca)
new_esEs0(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), dd, app(ty_Maybe, de)) → new_esEs(ywz5001, ywz4001, de)
new_esEs3(Right(ywz5000), Right(ywz4000), bda, app(app(app(ty_@3, bdf), bdg), bdh)) → new_esEs2(ywz5000, ywz4000, bdf, bdg, bdh)
new_esEs(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bg), bh)) → new_esEs3(ywz5000, ywz4000, bg, bh)
new_esEs0(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(app(ty_@2, cc), cd), cb) → new_esEs0(ywz5000, ywz4000, cc, cd)
new_esEs3(Right(ywz5000), Right(ywz4000), bda, app(ty_Maybe, bdb)) → new_esEs(ywz5000, ywz4000, bdb)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), hd, gb, app(ty_[], bba)) → new_esEs1(ywz5002, ywz4002, bba)
new_esEs3(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, bcd), bce), bcf), bbh) → new_esEs2(ywz5000, ywz4000, bcd, bce, bcf)
new_esEs0(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), dd, app(ty_[], dh)) → new_esEs1(ywz5001, ywz4001, dh)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), hd, gb, app(app(ty_Either, bbe), bbf)) → new_esEs3(ywz5002, ywz4002, bbe, bbf)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(ty_[], gf), gb, gc) → new_esEs1(ywz5000, ywz4000, gf)
new_esEs3(Left(ywz5000), Left(ywz4000), app(ty_[], bcc), bbh) → new_esEs1(ywz5000, ywz4000, bcc)
new_esEs1(:(ywz5000, ywz5001), :(ywz4000, ywz4001), app(app(app(ty_@3, fb), fc), fd)) → new_esEs2(ywz5000, ywz4000, fb, fc, fd)
new_esEs0(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), dd, app(app(ty_@2, df), dg)) → new_esEs0(ywz5001, ywz4001, df, dg)
new_esEs3(Left(ywz5000), Left(ywz4000), app(ty_Maybe, bbg), bbh) → new_esEs(ywz5000, ywz4000, bbg)
new_esEs1(:(ywz5000, ywz5001), :(ywz4000, ywz4001), app(app(ty_@2, eg), eh)) → new_esEs0(ywz5000, ywz4000, eg, eh)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), hd, gb, app(app(app(ty_@3, bbb), bbc), bbd)) → new_esEs2(ywz5002, ywz4002, bbb, bbc, bbd)
From the DPs we obtained the following set of size-change graphs:
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
↳ HASKELL
↳ IFR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ NumRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
new_ltEs2(@2(ywz5010, ywz5011), @2(ywz4010, ywz4011), app(ty_Maybe, bbe), bbf) → new_lt(ywz5010, ywz4010, bbe)
new_ltEs2(@2(ywz5010, ywz5011), @2(ywz4010, ywz4011), app(ty_[], bcf), bbf) → new_lt3(ywz5010, ywz4010, bcf)
new_ltEs2(@2(ywz5010, ywz5011), @2(ywz4010, ywz4011), app(app(ty_@2, bcd), bce), bbf) → new_lt2(ywz5010, ywz4010, bcd, bce)
new_ltEs1(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), gc, app(app(app(ty_@3, gg), gh), ha), fa) → new_lt1(ywz5011, ywz4011, gg, gh, ha)
new_ltEs2(@2(ywz5010, ywz5011), @2(ywz4010, ywz4011), bcg, app(ty_Maybe, bch)) → new_ltEs(ywz5011, ywz4011, bch)
new_compare22(@2(ywz500, Left(ywz5010)), @2(ywz400, Left(ywz4010)), False, bbc, app(app(ty_Either, app(app(ty_Either, cd), ce)), cc)) → new_ltEs0(ywz5010, ywz4010, cd, ce)
new_compare22(@2(ywz500, @3(ywz5010, ywz5011, ywz5012)), @2(ywz400, @3(ywz4010, ywz4011, ywz4012)), False, bbc, app(app(app(ty_@3, gc), app(ty_[], hd)), fa)) → new_lt3(ywz5011, ywz4011, hd)
new_compare22(@2(ywz500, @3(ywz5010, ywz5011, ywz5012)), @2(ywz400, @3(ywz4010, ywz4011, ywz4012)), False, bbc, app(app(app(ty_@3, app(app(ty_Either, fb), fc)), eh), fa)) → new_lt0(ywz5010, ywz4010, fb, fc)
new_ltEs(Just(ywz5010), Just(ywz4010), app(app(ty_Either, bb), bc)) → new_ltEs0(ywz5010, ywz4010, bb, bc)
new_ltEs1(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), gc, eh, app(app(ty_@2, bac), bad)) → new_ltEs2(ywz5012, ywz4012, bac, bad)
new_compare22(@2(ywz500, @3(ywz5010, ywz5011, ywz5012)), @2(ywz400, @3(ywz4010, ywz4011, ywz4012)), False, bbc, app(app(app(ty_@3, app(ty_Maybe, eg)), eh), fa)) → new_lt(ywz5010, ywz4010, eg)
new_lt3(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bed) → new_compare4(ywz5001, ywz4001, bed)
new_compare22(@2(ywz500, @3(ywz5010, ywz5011, ywz5012)), @2(ywz400, @3(ywz4010, ywz4011, ywz4012)), False, bbc, app(app(app(ty_@3, gc), eh), app(app(app(ty_@3, hh), baa), bab))) → new_ltEs1(ywz5012, ywz4012, hh, baa, bab)
new_primCompAux(ywz5000, ywz4000, ywz251, app(ty_[], beh)) → new_compare4(ywz5000, ywz4000, beh)
new_ltEs1(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), app(ty_[], gb), eh, fa) → new_lt3(ywz5010, ywz4010, gb)
new_compare22(@2(:(ywz5000, ywz5001), ywz501), @2(:(ywz4000, ywz4001), ywz401), False, app(ty_[], bed), bbd) → new_primCompAux(ywz5000, ywz4000, new_compare5(ywz5001, ywz4001, bed), bed)
new_lt0(ywz500, ywz400, baf, bag) → new_compare20(ywz500, ywz400, new_esEs5(ywz500, ywz400, baf, bag), baf, bag)
new_compare1(ywz500, ywz400, bah, bba, bbb) → new_compare21(ywz500, ywz400, new_esEs6(ywz500, ywz400, bah, bba, bbb), bah, bba, bbb)
new_compare22(@2(ywz500, ywz501), @2(ywz400, ywz401), False, bbc, app(ty_[], bea)) → new_compare4(ywz501, ywz401, bea)
new_compare22(@2(ywz500, @3(ywz5010, ywz5011, ywz5012)), @2(ywz400, @3(ywz4010, ywz4011, ywz4012)), False, bbc, app(app(app(ty_@3, gc), app(ty_Maybe, gd)), fa)) → new_lt(ywz5011, ywz4011, gd)
new_compare22(@2(:(ywz5000, ywz5001), ywz501), @2(:(ywz4000, ywz4001), ywz401), False, app(ty_[], bed), bbd) → new_compare4(ywz5001, ywz4001, bed)
new_compare22(@2(ywz500, Right(ywz5010)), @2(ywz400, Right(ywz4010)), False, bbc, app(app(ty_Either, de), app(app(ty_@2, ed), ee))) → new_ltEs2(ywz5010, ywz4010, ed, ee)
new_compare22(@2(ywz500, Left(ywz5010)), @2(ywz400, Left(ywz4010)), False, bbc, app(app(ty_Either, app(ty_Maybe, cb)), cc)) → new_ltEs(ywz5010, ywz4010, cb)
new_compare22(@2(ywz500, @2(ywz5010, ywz5011)), @2(ywz400, @2(ywz4010, ywz4011)), False, bbc, app(app(ty_@2, app(ty_Maybe, bbe)), bbf)) → new_lt(ywz5010, ywz4010, bbe)
new_ltEs0(Right(ywz5010), Right(ywz4010), de, app(app(ty_Either, dg), dh)) → new_ltEs0(ywz5010, ywz4010, dg, dh)
new_ltEs0(Right(ywz5010), Right(ywz4010), de, app(ty_[], ef)) → new_ltEs3(ywz5010, ywz4010, ef)
new_ltEs2(@2(ywz5010, ywz5011), @2(ywz4010, ywz4011), bcg, app(app(app(ty_@3, bdc), bdd), bde)) → new_ltEs1(ywz5011, ywz4011, bdc, bdd, bde)
new_ltEs1(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), gc, app(ty_Maybe, gd), fa) → new_lt(ywz5011, ywz4011, gd)
new_ltEs0(Left(ywz5010), Left(ywz4010), app(app(ty_@2, db), dc), cc) → new_ltEs2(ywz5010, ywz4010, db, dc)
new_compare22(@2(ywz500, @2(ywz5010, ywz5011)), @2(ywz400, @2(ywz4010, ywz4011)), False, bbc, app(app(ty_@2, bcg), app(app(app(ty_@3, bdc), bdd), bde))) → new_ltEs1(ywz5011, ywz4011, bdc, bdd, bde)
new_ltEs1(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), gc, app(ty_[], hd), fa) → new_lt3(ywz5011, ywz4011, hd)
new_ltEs0(Right(ywz5010), Right(ywz4010), de, app(ty_Maybe, df)) → new_ltEs(ywz5010, ywz4010, df)
new_compare4(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bed) → new_compare4(ywz5001, ywz4001, bed)
new_ltEs0(Right(ywz5010), Right(ywz4010), de, app(app(ty_@2, ed), ee)) → new_ltEs2(ywz5010, ywz4010, ed, ee)
new_ltEs1(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), gc, eh, app(app(app(ty_@3, hh), baa), bab)) → new_ltEs1(ywz5012, ywz4012, hh, baa, bab)
new_ltEs2(@2(ywz5010, ywz5011), @2(ywz4010, ywz4011), app(app(app(ty_@3, bca), bcb), bcc), bbf) → new_lt1(ywz5010, ywz4010, bca, bcb, bcc)
new_ltEs2(@2(ywz5010, ywz5011), @2(ywz4010, ywz4011), bcg, app(app(ty_Either, bda), bdb)) → new_ltEs0(ywz5011, ywz4011, bda, bdb)
new_compare22(@2(ywz500, @3(ywz5010, ywz5011, ywz5012)), @2(ywz400, @3(ywz4010, ywz4011, ywz4012)), False, bbc, app(app(app(ty_@3, gc), eh), app(ty_[], bae))) → new_ltEs3(ywz5012, ywz4012, bae)
new_compare0(ywz500, ywz400, baf, bag) → new_compare20(ywz500, ywz400, new_esEs5(ywz500, ywz400, baf, bag), baf, bag)
new_compare22(@2(ywz500, @2(ywz5010, ywz5011)), @2(ywz400, @2(ywz4010, ywz4011)), False, bbc, app(app(ty_@2, bcg), app(ty_Maybe, bch))) → new_ltEs(ywz5011, ywz4011, bch)
new_compare22(@2(ywz500, ywz501), @2(ywz400, ywz401), False, app(ty_Maybe, h), bbd) → new_compare2(ywz500, ywz400, new_esEs4(ywz500, ywz400, h), h)
new_compare22(@2(ywz500, @3(ywz5010, ywz5011, ywz5012)), @2(ywz400, @3(ywz4010, ywz4011, ywz4012)), False, bbc, app(app(app(ty_@3, gc), app(app(app(ty_@3, gg), gh), ha)), fa)) → new_lt1(ywz5011, ywz4011, gg, gh, ha)
new_compare22(@2(ywz500, Just(ywz5010)), @2(ywz400, Just(ywz4010)), False, bbc, app(ty_Maybe, app(app(ty_Either, bb), bc))) → new_ltEs0(ywz5010, ywz4010, bb, bc)
new_compare22(@2(ywz500, Right(ywz5010)), @2(ywz400, Right(ywz4010)), False, bbc, app(app(ty_Either, de), app(ty_[], ef))) → new_ltEs3(ywz5010, ywz4010, ef)
new_compare22(@2(ywz500, Right(ywz5010)), @2(ywz400, Right(ywz4010)), False, bbc, app(app(ty_Either, de), app(app(app(ty_@3, ea), eb), ec))) → new_ltEs1(ywz5010, ywz4010, ea, eb, ec)
new_compare22(@2(ywz500, Just(ywz5010)), @2(ywz400, Just(ywz4010)), False, bbc, app(ty_Maybe, app(ty_Maybe, ba))) → new_ltEs(ywz5010, ywz4010, ba)
new_ltEs0(Right(ywz5010), Right(ywz4010), de, app(app(app(ty_@3, ea), eb), ec)) → new_ltEs1(ywz5010, ywz4010, ea, eb, ec)
new_compare(ywz500, ywz400, h) → new_compare2(ywz500, ywz400, new_esEs4(ywz500, ywz400, h), h)
new_ltEs1(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), gc, app(app(ty_Either, ge), gf), fa) → new_lt0(ywz5011, ywz4011, ge, gf)
new_ltEs0(Left(ywz5010), Left(ywz4010), app(ty_[], dd), cc) → new_ltEs3(ywz5010, ywz4010, dd)
new_compare22(@2(ywz500, @3(ywz5010, ywz5011, ywz5012)), @2(ywz400, @3(ywz4010, ywz4011, ywz4012)), False, bbc, app(app(app(ty_@3, gc), app(app(ty_Either, ge), gf)), fa)) → new_lt0(ywz5011, ywz4011, ge, gf)
new_compare22(@2(ywz500, Just(ywz5010)), @2(ywz400, Just(ywz4010)), False, bbc, app(ty_Maybe, app(app(ty_@2, bg), bh))) → new_ltEs2(ywz5010, ywz4010, bg, bh)
new_compare22(@2(ywz500, Left(ywz5010)), @2(ywz400, Left(ywz4010)), False, bbc, app(app(ty_Either, app(app(ty_@2, db), dc)), cc)) → new_ltEs2(ywz5010, ywz4010, db, dc)
new_compare22(@2(ywz500, Right(ywz5010)), @2(ywz400, Right(ywz4010)), False, bbc, app(app(ty_Either, de), app(ty_Maybe, df))) → new_ltEs(ywz5010, ywz4010, df)
new_primCompAux(ywz5000, ywz4000, ywz251, app(app(app(ty_@3, bfa), bfb), bfc)) → new_compare1(ywz5000, ywz4000, bfa, bfb, bfc)
new_primCompAux(ywz5000, ywz4000, ywz251, app(app(ty_@2, bef), beg)) → new_compare3(ywz5000, ywz4000, bef, beg)
new_compare22(@2(ywz500, Just(ywz5010)), @2(ywz400, Just(ywz4010)), False, bbc, app(ty_Maybe, app(app(app(ty_@3, bd), be), bf))) → new_ltEs1(ywz5010, ywz4010, bd, be, bf)
new_ltEs1(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), gc, eh, app(ty_[], bae)) → new_ltEs3(ywz5012, ywz4012, bae)
new_compare22(@2(ywz500, ywz501), @2(ywz400, ywz401), False, app(app(app(ty_@3, bah), bba), bbb), bbd) → new_compare21(ywz500, ywz400, new_esEs6(ywz500, ywz400, bah, bba, bbb), bah, bba, bbb)
new_compare21(ywz500, ywz400, False, bah, bba, bbb) → new_ltEs1(ywz500, ywz400, bah, bba, bbb)
new_ltEs1(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), app(ty_Maybe, eg), eh, fa) → new_lt(ywz5010, ywz4010, eg)
new_compare22(@2(ywz500, Just(ywz5010)), @2(ywz400, Just(ywz4010)), False, bbc, app(ty_Maybe, app(ty_[], ca))) → new_ltEs3(ywz5010, ywz4010, ca)
new_compare22(@2(ywz500, @2(ywz5010, ywz5011)), @2(ywz400, @2(ywz4010, ywz4011)), False, bbc, app(app(ty_@2, bcg), app(app(ty_Either, bda), bdb))) → new_ltEs0(ywz5011, ywz4011, bda, bdb)
new_primCompAux(ywz5000, ywz4000, ywz251, app(app(ty_Either, bfd), bfe)) → new_compare0(ywz5000, ywz4000, bfd, bfe)
new_compare22(@2(ywz500, @3(ywz5010, ywz5011, ywz5012)), @2(ywz400, @3(ywz4010, ywz4011, ywz4012)), False, bbc, app(app(app(ty_@3, gc), app(app(ty_@2, hb), hc)), fa)) → new_lt2(ywz5011, ywz4011, hb, hc)
new_ltEs2(@2(ywz5010, ywz5011), @2(ywz4010, ywz4011), app(app(ty_Either, bbg), bbh), bbf) → new_lt0(ywz5010, ywz4010, bbg, bbh)
new_ltEs(Just(ywz5010), Just(ywz4010), app(app(app(ty_@3, bd), be), bf)) → new_ltEs1(ywz5010, ywz4010, bd, be, bf)
new_ltEs0(Left(ywz5010), Left(ywz4010), app(app(ty_Either, cd), ce), cc) → new_ltEs0(ywz5010, ywz4010, cd, ce)
new_compare22(@2(ywz500, @2(ywz5010, ywz5011)), @2(ywz400, @2(ywz4010, ywz4011)), False, bbc, app(app(ty_@2, bcg), app(ty_[], bdh))) → new_ltEs3(ywz5011, ywz4011, bdh)
new_ltEs(Just(ywz5010), Just(ywz4010), app(ty_Maybe, ba)) → new_ltEs(ywz5010, ywz4010, ba)
new_lt(ywz500, ywz400, h) → new_compare2(ywz500, ywz400, new_esEs4(ywz500, ywz400, h), h)
new_ltEs1(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), app(app(ty_Either, fb), fc), eh, fa) → new_lt0(ywz5010, ywz4010, fb, fc)
new_compare22(@2(ywz500, @2(ywz5010, ywz5011)), @2(ywz400, @2(ywz4010, ywz4011)), False, bbc, app(app(ty_@2, bcg), app(app(ty_@2, bdf), bdg))) → new_ltEs2(ywz5011, ywz4011, bdf, bdg)
new_ltEs2(@2(ywz5010, ywz5011), @2(ywz4010, ywz4011), bcg, app(ty_[], bdh)) → new_ltEs3(ywz5011, ywz4011, bdh)
new_ltEs1(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), gc, app(app(ty_@2, hb), hc), fa) → new_lt2(ywz5011, ywz4011, hb, hc)
new_lt2(ywz50, ywz40, bbc, bbd) → new_compare22(ywz50, ywz40, new_esEs7(ywz50, ywz40, bbc, bbd), bbc, bbd)
new_compare22(@2(ywz500, @2(ywz5010, ywz5011)), @2(ywz400, @2(ywz4010, ywz4011)), False, bbc, app(app(ty_@2, app(ty_[], bcf)), bbf)) → new_lt3(ywz5010, ywz4010, bcf)
new_compare22(@2(ywz500, @3(ywz5010, ywz5011, ywz5012)), @2(ywz400, @3(ywz4010, ywz4011, ywz4012)), False, bbc, app(app(app(ty_@3, app(app(app(ty_@3, fd), ff), fg)), eh), fa)) → new_lt1(ywz5010, ywz4010, fd, ff, fg)
new_compare22(@2(ywz500, ywz501), @2(ywz400, ywz401), False, app(app(ty_@2, beb), bec), bbd) → new_lt2(ywz500, ywz400, beb, bec)
new_ltEs(Just(ywz5010), Just(ywz4010), app(app(ty_@2, bg), bh)) → new_ltEs2(ywz5010, ywz4010, bg, bh)
new_compare22(@2(ywz500, @3(ywz5010, ywz5011, ywz5012)), @2(ywz400, @3(ywz4010, ywz4011, ywz4012)), False, bbc, app(app(app(ty_@3, gc), eh), app(app(ty_Either, hf), hg))) → new_ltEs0(ywz5012, ywz4012, hf, hg)
new_ltEs(Just(ywz5010), Just(ywz4010), app(ty_[], ca)) → new_ltEs3(ywz5010, ywz4010, ca)
new_compare20(ywz500, ywz400, False, baf, bag) → new_ltEs0(ywz500, ywz400, baf, bag)
new_compare22(@2(ywz500, @2(ywz5010, ywz5011)), @2(ywz400, @2(ywz4010, ywz4011)), False, bbc, app(app(ty_@2, app(app(app(ty_@3, bca), bcb), bcc)), bbf)) → new_lt1(ywz5010, ywz4010, bca, bcb, bcc)
new_compare22(@2(ywz500, @2(ywz5010, ywz5011)), @2(ywz400, @2(ywz4010, ywz4011)), False, bbc, app(app(ty_@2, app(app(ty_Either, bbg), bbh)), bbf)) → new_lt0(ywz5010, ywz4010, bbg, bbh)
new_ltEs1(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), gc, eh, app(app(ty_Either, hf), hg)) → new_ltEs0(ywz5012, ywz4012, hf, hg)
new_ltEs0(Left(ywz5010), Left(ywz4010), app(ty_Maybe, cb), cc) → new_ltEs(ywz5010, ywz4010, cb)
new_compare3(ywz50, ywz40, bbc, bbd) → new_compare22(ywz50, ywz40, new_esEs7(ywz50, ywz40, bbc, bbd), bbc, bbd)
new_compare22(@2(ywz500, @2(ywz5010, ywz5011)), @2(ywz400, @2(ywz4010, ywz4011)), False, bbc, app(app(ty_@2, app(app(ty_@2, bcd), bce)), bbf)) → new_lt2(ywz5010, ywz4010, bcd, bce)
new_lt3(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bed) → new_primCompAux(ywz5000, ywz4000, new_compare5(ywz5001, ywz4001, bed), bed)
new_compare22(@2(ywz500, Left(ywz5010)), @2(ywz400, Left(ywz4010)), False, bbc, app(app(ty_Either, app(ty_[], dd)), cc)) → new_ltEs3(ywz5010, ywz4010, dd)
new_compare2(ywz500, ywz400, False, h) → new_ltEs(ywz500, ywz400, h)
new_ltEs2(@2(ywz5010, ywz5011), @2(ywz4010, ywz4011), bcg, app(app(ty_@2, bdf), bdg)) → new_ltEs2(ywz5011, ywz4011, bdf, bdg)
new_ltEs1(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), gc, eh, app(ty_Maybe, he)) → new_ltEs(ywz5012, ywz4012, he)
new_compare4(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bed) → new_primCompAux(ywz5000, ywz4000, new_compare5(ywz5001, ywz4001, bed), bed)
new_compare22(@2(ywz500, @3(ywz5010, ywz5011, ywz5012)), @2(ywz400, @3(ywz4010, ywz4011, ywz4012)), False, bbc, app(app(app(ty_@3, gc), eh), app(ty_Maybe, he))) → new_ltEs(ywz5012, ywz4012, he)
new_ltEs3(ywz501, ywz401, bea) → new_compare4(ywz501, ywz401, bea)
new_compare22(@2(ywz500, Right(ywz5010)), @2(ywz400, Right(ywz4010)), False, bbc, app(app(ty_Either, de), app(app(ty_Either, dg), dh))) → new_ltEs0(ywz5010, ywz4010, dg, dh)
new_lt1(ywz500, ywz400, bah, bba, bbb) → new_compare21(ywz500, ywz400, new_esEs6(ywz500, ywz400, bah, bba, bbb), bah, bba, bbb)
new_compare22(@2(ywz500, @3(ywz5010, ywz5011, ywz5012)), @2(ywz400, @3(ywz4010, ywz4011, ywz4012)), False, bbc, app(app(app(ty_@3, gc), eh), app(app(ty_@2, bac), bad))) → new_ltEs2(ywz5012, ywz4012, bac, bad)
new_compare22(@2(ywz500, Left(ywz5010)), @2(ywz400, Left(ywz4010)), False, bbc, app(app(ty_Either, app(app(app(ty_@3, cf), cg), da)), cc)) → new_ltEs1(ywz5010, ywz4010, cf, cg, da)
new_compare22(@2(ywz500, @3(ywz5010, ywz5011, ywz5012)), @2(ywz400, @3(ywz4010, ywz4011, ywz4012)), False, bbc, app(app(app(ty_@3, app(ty_[], gb)), eh), fa)) → new_lt3(ywz5010, ywz4010, gb)
new_ltEs0(Left(ywz5010), Left(ywz4010), app(app(app(ty_@3, cf), cg), da), cc) → new_ltEs1(ywz5010, ywz4010, cf, cg, da)
new_ltEs1(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), app(app(ty_@2, fh), ga), eh, fa) → new_lt2(ywz5010, ywz4010, fh, ga)
new_compare22(@2(ywz500, ywz501), @2(ywz400, ywz401), False, app(app(ty_Either, baf), bag), bbd) → new_compare20(ywz500, ywz400, new_esEs5(ywz500, ywz400, baf, bag), baf, bag)
new_ltEs1(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), app(app(app(ty_@3, fd), ff), fg), eh, fa) → new_lt1(ywz5010, ywz4010, fd, ff, fg)
new_primCompAux(ywz5000, ywz4000, ywz251, app(ty_Maybe, bee)) → new_compare(ywz5000, ywz4000, bee)
new_compare22(@2(ywz500, @3(ywz5010, ywz5011, ywz5012)), @2(ywz400, @3(ywz4010, ywz4011, ywz4012)), False, bbc, app(app(app(ty_@3, app(app(ty_@2, fh), ga)), eh), fa)) → new_lt2(ywz5010, ywz4010, fh, ga)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cfd)) → new_esEs4(ywz5000, ywz4000, cfd)
new_esEs22(ywz5010, ywz4010, ty_Double) → new_esEs17(ywz5010, ywz4010)
new_primCmpNat0(ywz50000, Succ(ywz40000)) → new_primCmpNat2(ywz50000, ywz40000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, app(app(ty_Either, ccd), cce)) → new_esEs5(ywz5000, ywz4000, ccd, cce)
new_lt10(ywz500, ywz400) → new_esEs8(new_compare29(ywz500, ywz400), LT)
new_esEs27(ywz5000, ywz4000, app(ty_[], beh)) → new_esEs16(ywz5000, ywz4000, beh)
new_lt7(ywz5010, ywz4010, ty_Double) → new_lt17(ywz5010, ywz4010)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_@0, cc) → new_ltEs9(ywz5010, ywz4010)
new_esEs25(ywz5001, ywz4001, app(ty_[], cdb)) → new_esEs16(ywz5001, ywz4001, cdb)
new_esEs24(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs5(ywz5011, ywz4011, app(app(ty_Either, bda), bdb)) → new_ltEs10(ywz5011, ywz4011, bda, bdb)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_ltEs19(ywz501, ywz401, ty_Char) → new_ltEs15(ywz501, ywz401)
new_ltEs10(Left(ywz5010), Right(ywz4010), de, cc) → True
new_compare110(ywz500, ywz400, True, baf, bag) → LT
new_esEs5(Right(ywz5000), Right(ywz4000), baf, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, cfb)) → new_esEs18(ywz5000, ywz4000, cfb)
new_esEs23(ywz5011, ywz4011, app(app(ty_Either, ge), gf)) → new_esEs5(ywz5011, ywz4011, ge, gf)
new_esEs19(ywz500, ywz400, app(ty_[], bed)) → new_esEs16(ywz500, ywz400, bed)
new_lt7(ywz5010, ywz4010, ty_Bool) → new_lt11(ywz5010, ywz4010)
new_ltEs8(Just(ywz5010), Just(ywz4010), app(app(app(ty_@3, bd), be), bf)) → new_ltEs13(ywz5010, ywz4010, bd, be, bf)
new_esEs4(Just(ywz5000), Nothing, h) → False
new_esEs4(Nothing, Just(ywz4000), h) → False
new_esEs24(ywz5000, ywz4000, app(ty_Maybe, cbe)) → new_esEs4(ywz5000, ywz4000, cbe)
new_compare16(ywz500, ywz400, False, bah, bba, bbb) → GT
new_esEs9(ywz5010, ywz4010, ty_Char) → new_esEs15(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), baf, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs15(ywz501, ywz401) → new_not(new_esEs8(new_compare31(ywz501, ywz401), GT))
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs13(ywz5000, ywz4000)
new_esEs26(ywz5002, ywz4002, ty_Float) → new_esEs13(ywz5002, ywz4002)
new_primMulNat0(Zero, Zero) → Zero
new_esEs19(ywz500, ywz400, app(ty_Ratio, bgb)) → new_esEs18(ywz500, ywz400, bgb)
new_esEs26(ywz5002, ywz4002, app(ty_[], ced)) → new_esEs16(ywz5002, ywz4002, ced)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Double) → new_ltEs17(ywz5010, ywz4010)
new_primCompAux0(ywz5000, ywz4000, ywz251, bed) → new_primCompAux00(ywz251, new_compare32(ywz5000, ywz4000, bed))
new_ltEs20(ywz5012, ywz4012, ty_Float) → new_ltEs12(ywz5012, ywz4012)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cfh), cga), cgb)) → new_esEs6(ywz5000, ywz4000, cfh, cga, cgb)
new_esEs12(True, True) → True
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bgf)) → new_esEs4(ywz5000, ywz4000, bgf)
new_lt19(ywz500, ywz400, app(ty_Maybe, h)) → new_lt9(ywz500, ywz400, h)
new_lt21(ywz5011, ywz4011, ty_Ordering) → new_lt6(ywz5011, ywz4011)
new_compare32(ywz5000, ywz4000, app(app(app(ty_@3, bfa), bfb), bfc)) → new_compare7(ywz5000, ywz4000, bfa, bfb, bfc)
new_ltEs19(ywz501, ywz401, ty_Integer) → new_ltEs14(ywz501, ywz401)
new_ltEs20(ywz5012, ywz4012, app(ty_Maybe, he)) → new_ltEs8(ywz5012, ywz4012, he)
new_ltEs5(ywz5011, ywz4011, ty_Char) → new_ltEs15(ywz5011, ywz4011)
new_esEs23(ywz5011, ywz4011, ty_Bool) → new_esEs12(ywz5011, ywz4011)
new_esEs19(ywz500, ywz400, ty_Int) → new_esEs10(ywz500, ywz400)
new_esEs25(ywz5001, ywz4001, app(ty_Ratio, ccf)) → new_esEs18(ywz5001, ywz4001, ccf)
new_lt19(ywz500, ywz400, ty_Ordering) → new_lt6(ywz500, ywz400)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_@0) → new_ltEs9(ywz5010, ywz4010)
new_esEs26(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_esEs23(ywz5011, ywz4011, app(ty_Maybe, gd)) → new_esEs4(ywz5011, ywz4011, gd)
new_lt21(ywz5011, ywz4011, app(ty_[], hd)) → new_lt16(ywz5011, ywz4011, hd)
new_esEs23(ywz5011, ywz4011, ty_Char) → new_esEs15(ywz5011, ywz4011)
new_lt21(ywz5011, ywz4011, ty_Bool) → new_lt11(ywz5011, ywz4011)
new_compare26(ywz500, ywz400, False, h) → new_compare14(ywz500, ywz400, new_ltEs8(ywz500, ywz400, h), h)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Bool, bag) → new_esEs12(ywz5000, ywz4000)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Float, cc) → new_ltEs12(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), baf, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_lt18(ywz500, ywz400, bgb) → new_esEs8(new_compare19(ywz500, ywz400, bgb), LT)
new_esEs9(ywz5010, ywz4010, ty_Int) → new_esEs10(ywz5010, ywz4010)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Int) → new_ltEs7(ywz5010, ywz4010)
new_lt20(ywz5010, ywz4010, ty_Float) → new_lt12(ywz5010, ywz4010)
new_lt11(ywz500, ywz400) → new_esEs8(new_compare27(ywz500, ywz400), LT)
new_esEs26(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_esEs26(ywz5002, ywz4002, app(ty_Maybe, cea)) → new_esEs4(ywz5002, ywz4002, cea)
new_esEs22(ywz5010, ywz4010, app(ty_Ratio, cba)) → new_esEs18(ywz5010, ywz4010, cba)
new_esEs19(ywz500, ywz400, app(app(ty_Either, baf), bag)) → new_esEs5(ywz500, ywz400, baf, bag)
new_esEs5(Right(ywz5000), Right(ywz4000), baf, app(app(app(ty_@3, dag), dah), dba)) → new_esEs6(ywz5000, ywz4000, dag, dah, dba)
new_compare32(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_compare15(ywz5000, ywz4000, bef, beg)
new_ltEs5(ywz5011, ywz4011, ty_Int) → new_ltEs7(ywz5011, ywz4011)
new_ltEs10(Right(ywz5010), Right(ywz4010), de, app(app(ty_@2, ed), ee)) → new_ltEs4(ywz5010, ywz4010, ed, ee)
new_compare32(ywz5000, ywz4000, ty_Float) → new_compare9(ywz5000, ywz4000)
new_esEs25(ywz5001, ywz4001, ty_Float) → new_esEs13(ywz5001, ywz4001)
new_esEs9(ywz5010, ywz4010, ty_Integer) → new_esEs14(ywz5010, ywz4010)
new_pePe(False, ywz250) → ywz250
new_esEs25(ywz5001, ywz4001, app(app(ty_@2, cch), cda)) → new_esEs7(ywz5001, ywz4001, cch, cda)
new_lt20(ywz5010, ywz4010, ty_Bool) → new_lt11(ywz5010, ywz4010)
new_compare29(@0, @0) → EQ
new_ltEs19(ywz501, ywz401, app(app(ty_@2, bcg), bbf)) → new_ltEs4(ywz501, ywz401, bcg, bbf)
new_esEs7(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), beb, bec) → new_asAs(new_esEs20(ywz5000, ywz4000, beb), new_esEs21(ywz5001, ywz4001, bec))
new_ltEs10(Right(ywz5010), Right(ywz4010), de, ty_Float) → new_ltEs12(ywz5010, ywz4010)
new_lt19(ywz500, ywz400, app(ty_[], bed)) → new_lt16(ywz500, ywz400, bed)
new_lt21(ywz5011, ywz4011, app(ty_Ratio, cbb)) → new_lt18(ywz5011, ywz4011, cbb)
new_lt6(ywz500, ywz400) → new_esEs8(new_compare8(ywz500, ywz400), LT)
new_compare12(ywz126, ywz127, ywz128, ywz129, False, bfh, bga) → GT
new_lt21(ywz5011, ywz4011, app(app(app(ty_@3, gg), gh), ha)) → new_lt5(ywz5011, ywz4011, gg, gh, ha)
new_ltEs5(ywz5011, ywz4011, app(app(ty_@2, bdf), bdg)) → new_ltEs4(ywz5011, ywz4011, bdf, bdg)
new_esEs24(ywz5000, ywz4000, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_esEs26(ywz5002, ywz4002, ty_Bool) → new_esEs12(ywz5002, ywz4002)
new_esEs17(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs10(Left(ywz5010), Left(ywz4010), app(app(app(ty_@3, cf), cg), da), cc) → new_ltEs13(ywz5010, ywz4010, cf, cg, da)
new_compare32(ywz5000, ywz4000, ty_Bool) → new_compare27(ywz5000, ywz4000)
new_ltEs6(GT, EQ) → False
new_lt20(ywz5010, ywz4010, app(app(ty_@2, fh), ga)) → new_lt14(ywz5010, ywz4010, fh, ga)
new_ltEs10(Left(ywz5010), Left(ywz4010), app(app(ty_Either, cd), ce), cc) → new_ltEs10(ywz5010, ywz4010, cd, ce)
new_esEs22(ywz5010, ywz4010, ty_Ordering) → new_esEs8(ywz5010, ywz4010)
new_ltEs11(False, True) → True
new_esEs9(ywz5010, ywz4010, ty_Double) → new_esEs17(ywz5010, ywz4010)
new_compare111(ywz500, ywz400, False) → GT
new_ltEs19(ywz501, ywz401, app(ty_Ratio, bgc)) → new_ltEs18(ywz501, ywz401, bgc)
new_compare111(ywz500, ywz400, True) → LT
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_lt21(ywz5011, ywz4011, app(app(ty_Either, ge), gf)) → new_lt4(ywz5011, ywz4011, ge, gf)
new_lt16(ywz500, ywz400, bed) → new_esEs8(new_compare5(ywz500, ywz400, bed), LT)
new_ltEs19(ywz501, ywz401, ty_Double) → new_ltEs17(ywz501, ywz401)
new_esEs5(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cha), bag) → new_esEs4(ywz5000, ywz4000, cha)
new_ltEs19(ywz501, ywz401, ty_Int) → new_ltEs7(ywz501, ywz401)
new_compare25(ywz500, ywz400, False, bah, bba, bbb) → new_compare16(ywz500, ywz400, new_ltEs13(ywz500, ywz400, bah, bba, bbb), bah, bba, bbb)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Ordering, bag) → new_esEs8(ywz5000, ywz4000)
new_ltEs20(ywz5012, ywz4012, app(app(ty_@2, bac), bad)) → new_ltEs4(ywz5012, ywz4012, bac, bad)
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat1(ywz4000, ywz50000)
new_esEs26(ywz5002, ywz4002, ty_Double) → new_esEs17(ywz5002, ywz4002)
new_ltEs8(Nothing, Just(ywz4010), bgd) → True
new_esEs9(ywz5010, ywz4010, ty_Float) → new_esEs13(ywz5010, ywz4010)
new_compare6(ywz500, ywz400, baf, bag) → new_compare23(ywz500, ywz400, new_esEs5(ywz500, ywz400, baf, bag), baf, bag)
new_lt20(ywz5010, ywz4010, ty_Ordering) → new_lt6(ywz5010, ywz4010)
new_esEs25(ywz5001, ywz4001, app(app(ty_Either, cdf), cdg)) → new_esEs5(ywz5001, ywz4001, cdf, cdg)
new_esEs8(LT, LT) → True
new_ltEs10(Left(ywz5010), Left(ywz4010), app(ty_[], dd), cc) → new_ltEs16(ywz5010, ywz4010, dd)
new_compare25(ywz500, ywz400, True, bah, bba, bbb) → EQ
new_esEs19(ywz500, ywz400, app(ty_Maybe, h)) → new_esEs4(ywz500, ywz400, h)
new_lt7(ywz5010, ywz4010, app(ty_Ratio, bff)) → new_lt18(ywz5010, ywz4010, bff)
new_esEs25(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs19(ywz501, ywz401, app(app(ty_Either, de), cc)) → new_ltEs10(ywz501, ywz401, de, cc)
new_esEs19(ywz500, ywz400, ty_Bool) → new_esEs12(ywz500, ywz400)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_esEs25(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bhb), bhc), bhd)) → new_esEs6(ywz5000, ywz4000, bhb, bhc, bhd)
new_ltEs10(Left(ywz5010), Left(ywz4010), app(ty_Maybe, cb), cc) → new_ltEs8(ywz5010, ywz4010, cb)
new_pePe(True, ywz250) → True
new_primEqNat0(Zero, Zero) → True
new_ltEs20(ywz5012, ywz4012, app(ty_Ratio, cbc)) → new_ltEs18(ywz5012, ywz4012, cbc)
new_esEs23(ywz5011, ywz4011, ty_@0) → new_esEs11(ywz5011, ywz4011)
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat1(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_esEs22(ywz5010, ywz4010, ty_@0) → new_esEs11(ywz5010, ywz4010)
new_ltEs20(ywz5012, ywz4012, ty_Integer) → new_ltEs14(ywz5012, ywz4012)
new_lt7(ywz5010, ywz4010, app(ty_[], bcf)) → new_lt16(ywz5010, ywz4010, bcf)
new_ltEs5(ywz5011, ywz4011, app(ty_Maybe, bch)) → new_ltEs8(ywz5011, ywz4011, bch)
new_esEs22(ywz5010, ywz4010, app(app(ty_@2, fh), ga)) → new_esEs7(ywz5010, ywz4010, fh, ga)
new_ltEs16(ywz501, ywz401, bea) → new_not(new_esEs8(new_compare5(ywz501, ywz401, bea), GT))
new_esEs19(ywz500, ywz400, ty_Float) → new_esEs13(ywz500, ywz400)
new_ltEs5(ywz5011, ywz4011, app(ty_Ratio, bfg)) → new_ltEs18(ywz5011, ywz4011, bfg)
new_esEs5(Right(ywz5000), Right(ywz4000), baf, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_compare110(ywz500, ywz400, False, baf, bag) → GT
new_ltEs4(@2(ywz5010, ywz5011), @2(ywz4010, ywz4011), bcg, bbf) → new_pePe(new_lt7(ywz5010, ywz4010, bcg), new_asAs(new_esEs9(ywz5010, ywz4010, bcg), new_ltEs5(ywz5011, ywz4011, bbf)))
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_ltEs19(ywz501, ywz401, ty_Ordering) → new_ltEs6(ywz501, ywz401)
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs9(ywz5010, ywz4010, ty_@0) → new_esEs11(ywz5010, ywz4010)
new_esEs18(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), bgb) → new_asAs(new_esEs28(ywz5000, ywz4000, bgb), new_esEs29(ywz5001, ywz4001, bgb))
new_esEs9(ywz5010, ywz4010, app(ty_[], bcf)) → new_esEs16(ywz5010, ywz4010, bcf)
new_lt19(ywz500, ywz400, ty_Int) → new_lt8(ywz500, ywz400)
new_lt7(ywz5010, ywz4010, ty_Int) → new_lt8(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, app(app(ty_@2, cbf), cbg)) → new_esEs7(ywz5000, ywz4000, cbf, cbg)
new_ltEs10(Right(ywz5010), Right(ywz4010), de, app(ty_Maybe, df)) → new_ltEs8(ywz5010, ywz4010, df)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat0(ywz40000, Zero)
new_esEs26(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_ltEs6(EQ, GT) → True
new_esEs5(Right(ywz5000), Right(ywz4000), baf, app(ty_Ratio, dab)) → new_esEs18(ywz5000, ywz4000, dab)
new_esEs8(GT, GT) → True
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat1(Zero, ywz40000)
new_compare32(ywz5000, ywz4000, app(ty_[], beh)) → new_compare5(ywz5000, ywz4000, beh)
new_lt7(ywz5010, ywz4010, app(app(app(ty_@3, bca), bcb), bcc)) → new_lt5(ywz5010, ywz4010, bca, bcb, bcc)
new_lt20(ywz5010, ywz4010, ty_Double) → new_lt17(ywz5010, ywz4010)
new_esEs26(ywz5002, ywz4002, app(app(app(ty_@3, cee), cef), ceg)) → new_esEs6(ywz5002, ywz4002, cee, cef, ceg)
new_esEs12(False, False) → True
new_esEs8(LT, GT) → False
new_esEs8(GT, LT) → False
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Bool, cc) → new_ltEs11(ywz5010, ywz4010)
new_esEs13(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cfc)) → new_esEs18(ywz5000, ywz4000, cfc)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare210(ywz500, ywz400, False) → new_compare111(ywz500, ywz400, new_ltEs6(ywz500, ywz400))
new_ltEs8(Just(ywz5010), Just(ywz4010), app(ty_Ratio, cge)) → new_ltEs18(ywz5010, ywz4010, cge)
new_ltEs7(ywz501, ywz401) → new_not(new_esEs8(new_compare10(ywz501, ywz401), GT))
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5010, ywz4010, app(app(app(ty_@3, fd), ff), fg)) → new_esEs6(ywz5010, ywz4010, fd, ff, fg)
new_esEs23(ywz5011, ywz4011, ty_Ordering) → new_esEs8(ywz5011, ywz4011)
new_esEs5(Left(ywz5000), Left(ywz4000), app(ty_[], chd), bag) → new_esEs16(ywz5000, ywz4000, chd)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Ordering, cc) → new_ltEs6(ywz5010, ywz4010)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_primCmpNat1(Zero, ywz50000) → LT
new_lt20(ywz5010, ywz4010, app(app(ty_Either, fb), fc)) → new_lt4(ywz5010, ywz4010, fb, fc)
new_compare23(ywz500, ywz400, False, baf, bag) → new_compare110(ywz500, ywz400, new_ltEs10(ywz500, ywz400, baf, bag), baf, bag)
new_ltEs5(ywz5011, ywz4011, app(ty_[], bdh)) → new_ltEs16(ywz5011, ywz4011, bdh)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_ltEs20(ywz5012, ywz4012, ty_Bool) → new_ltEs11(ywz5012, ywz4012)
new_ltEs10(Right(ywz5010), Right(ywz4010), de, ty_Int) → new_ltEs7(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, app(app(app(ty_@3, cca), ccb), ccc)) → new_esEs6(ywz5000, ywz4000, cca, ccb, ccc)
new_compare12(ywz126, ywz127, ywz128, ywz129, True, bfh, bga) → LT
new_ltEs6(EQ, EQ) → True
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, caa), cab)) → new_esEs7(ywz5001, ywz4001, caa, cab)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_compare13(ywz126, ywz127, ywz128, ywz129, True, ywz131, bfh, bga) → new_compare12(ywz126, ywz127, ywz128, ywz129, True, bfh, bga)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, bfd), bfe)) → new_esEs5(ywz5000, ywz4000, bfd, bfe)
new_lt14(ywz50, ywz40, bbc, bbd) → new_esEs8(new_compare15(ywz50, ywz40, bbc, bbd), LT)
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_esEs8(EQ, EQ) → True
new_ltEs8(Just(ywz5010), Just(ywz4010), app(app(ty_Either, bb), bc)) → new_ltEs10(ywz5010, ywz4010, bb, bc)
new_primPlusNat1(Zero, ywz400100) → Succ(ywz400100)
new_lt7(ywz5010, ywz4010, ty_Float) → new_lt12(ywz5010, ywz4010)
new_ltEs5(ywz5011, ywz4011, app(app(app(ty_@3, bdc), bdd), bde)) → new_ltEs13(ywz5011, ywz4011, bdc, bdd, bde)
new_lt20(ywz5010, ywz4010, ty_@0) → new_lt10(ywz5010, ywz4010)
new_ltEs6(GT, GT) → True
new_lt7(ywz5010, ywz4010, ty_Char) → new_lt15(ywz5010, ywz4010)
new_esEs22(ywz5010, ywz4010, ty_Float) → new_esEs13(ywz5010, ywz4010)
new_compare24(ywz50, ywz40, True, bbc, bbd) → EQ
new_lt13(ywz500, ywz400) → new_esEs8(new_compare17(ywz500, ywz400), LT)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_esEs26(ywz5002, ywz4002, ty_@0) → new_esEs11(ywz5002, ywz4002)
new_lt20(ywz5010, ywz4010, ty_Int) → new_lt8(ywz5010, ywz4010)
new_esEs23(ywz5011, ywz4011, ty_Integer) → new_esEs14(ywz5011, ywz4011)
new_compare32(ywz5000, ywz4000, ty_Integer) → new_compare17(ywz5000, ywz4000)
new_lt20(ywz5010, ywz4010, ty_Integer) → new_lt13(ywz5010, ywz4010)
new_esEs22(ywz5010, ywz4010, app(ty_Maybe, eg)) → new_esEs4(ywz5010, ywz4010, eg)
new_compare5(:(ywz5000, ywz5001), [], bed) → GT
new_esEs25(ywz5001, ywz4001, app(ty_Maybe, ccg)) → new_esEs4(ywz5001, ywz4001, ccg)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_esEs9(ywz5010, ywz4010, app(app(ty_@2, bcd), bce)) → new_esEs7(ywz5010, ywz4010, bcd, bce)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_ltEs11(True, False) → False
new_esEs5(Left(ywz5000), Left(ywz4000), ty_@0, bag) → new_esEs11(ywz5000, ywz4000)
new_compare14(ywz500, ywz400, False, h) → GT
new_esEs5(Right(ywz5000), Right(ywz4000), baf, app(app(ty_Either, dbb), dbc)) → new_esEs5(ywz5000, ywz4000, dbb, dbc)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs10(Right(ywz5010), Right(ywz4010), de, app(app(app(ty_@3, ea), eb), ec)) → new_ltEs13(ywz5010, ywz4010, ea, eb, ec)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Char, bag) → new_esEs15(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, app(ty_Ratio, cbd)) → new_esEs18(ywz5000, ywz4000, cbd)
new_esEs19(ywz500, ywz400, app(app(app(ty_@3, bah), bba), bbb)) → new_esEs6(ywz500, ywz400, bah, bba, bbb)
new_lt21(ywz5011, ywz4011, ty_Int) → new_lt8(ywz5011, ywz4011)
new_lt21(ywz5011, ywz4011, ty_Integer) → new_lt13(ywz5011, ywz4011)
new_compare5(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bed) → new_primCompAux0(ywz5000, ywz4000, new_compare5(ywz5001, ywz4001, bed), bed)
new_esEs22(ywz5010, ywz4010, ty_Bool) → new_esEs12(ywz5010, ywz4010)
new_esEs29(ywz5001, ywz4001, ty_Int) → new_esEs10(ywz5001, ywz4001)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs10(ywz5000, ywz4000)
new_primCompAux00(ywz279, LT) → LT
new_ltEs10(Left(ywz5010), Left(ywz4010), app(ty_Ratio, cgf), cc) → new_ltEs18(ywz5010, ywz4010, cgf)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Float) → new_ltEs12(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_ltEs8(Just(ywz5010), Nothing, bgd) → False
new_ltEs10(Right(ywz5010), Right(ywz4010), de, app(app(ty_Either, dg), dh)) → new_ltEs10(ywz5010, ywz4010, dg, dh)
new_esEs22(ywz5010, ywz4010, ty_Char) → new_esEs15(ywz5010, ywz4010)
new_compare27(ywz500, ywz400) → new_compare28(ywz500, ywz400, new_esEs12(ywz500, ywz400))
new_lt21(ywz5011, ywz4011, app(ty_Maybe, gd)) → new_lt9(ywz5011, ywz4011, gd)
new_compare32(ywz5000, ywz4000, app(ty_Ratio, cfb)) → new_compare19(ywz5000, ywz4000, cfb)
new_ltEs5(ywz5011, ywz4011, ty_@0) → new_ltEs9(ywz5011, ywz4011)
new_esEs8(LT, EQ) → False
new_esEs8(EQ, LT) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primPlusNat0(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_primPlusNat0(Succ(ywz21700), Zero) → Succ(ywz21700)
new_esEs22(ywz5010, ywz4010, ty_Integer) → new_esEs14(ywz5010, ywz4010)
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bah, bba, bbb) → new_asAs(new_esEs24(ywz5000, ywz4000, bah), new_asAs(new_esEs25(ywz5001, ywz4001, bba), new_esEs26(ywz5002, ywz4002, bbb)))
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, cgc), cgd)) → new_esEs5(ywz5000, ywz4000, cgc, cgd)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bhe), bhf)) → new_esEs5(ywz5000, ywz4000, bhe, bhf)
new_esEs23(ywz5011, ywz4011, ty_Float) → new_esEs13(ywz5011, ywz4011)
new_ltEs10(Right(ywz5010), Right(ywz4010), de, ty_Integer) → new_ltEs14(ywz5010, ywz4010)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Float, bag) → new_esEs13(ywz5000, ywz4000)
new_lt7(ywz5010, ywz4010, app(app(ty_@2, bcd), bce)) → new_lt14(ywz5010, ywz4010, bcd, bce)
new_sr0(Integer(ywz40000), Integer(ywz50010)) → Integer(new_primMulInt(ywz40000, ywz50010))
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_esEs5(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cgh), bag) → new_esEs18(ywz5000, ywz4000, cgh)
new_esEs25(ywz5001, ywz4001, ty_Int) → new_esEs10(ywz5001, ywz4001)
new_lt19(ywz500, ywz400, app(app(app(ty_@3, bah), bba), bbb)) → new_lt5(ywz500, ywz400, bah, bba, bbb)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Ordering) → new_ltEs6(ywz5010, ywz4010)
new_esEs9(ywz5010, ywz4010, app(app(ty_Either, bbg), bbh)) → new_esEs5(ywz5010, ywz4010, bbg, bbh)
new_primCmpNat2(Zero, Succ(ywz400000)) → LT
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_esEs26(ywz5002, ywz4002, ty_Int) → new_esEs10(ywz5002, ywz4002)
new_primCompAux00(ywz279, EQ) → ywz279
new_esEs23(ywz5011, ywz4011, ty_Double) → new_esEs17(ywz5011, ywz4011)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs7(ywz5000, ywz4000, bef, beg)
new_lt7(ywz5010, ywz4010, app(ty_Maybe, bbe)) → new_lt9(ywz5010, ywz4010, bbe)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Double, bag) → new_esEs17(ywz5000, ywz4000)
new_ltEs5(ywz5011, ywz4011, ty_Double) → new_ltEs17(ywz5011, ywz4011)
new_esEs8(EQ, GT) → False
new_esEs8(GT, EQ) → False
new_ltEs19(ywz501, ywz401, app(app(app(ty_@3, gc), eh), fa)) → new_ltEs13(ywz501, ywz401, gc, eh, fa)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_lt21(ywz5011, ywz4011, ty_@0) → new_lt10(ywz5011, ywz4011)
new_lt15(ywz500, ywz400) → new_esEs8(new_compare31(ywz500, ywz400), LT)
new_compare26(ywz500, ywz400, True, h) → EQ
new_esEs9(ywz5010, ywz4010, ty_Ordering) → new_esEs8(ywz5010, ywz4010)
new_ltEs10(Left(ywz5010), Left(ywz4010), app(app(ty_@2, db), dc), cc) → new_ltEs4(ywz5010, ywz4010, db, dc)
new_compare9(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_ltEs13(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), gc, eh, fa) → new_pePe(new_lt20(ywz5010, ywz4010, gc), new_asAs(new_esEs22(ywz5010, ywz4010, gc), new_pePe(new_lt21(ywz5011, ywz4011, eh), new_asAs(new_esEs23(ywz5011, ywz4011, eh), new_ltEs20(ywz5012, ywz4012, fa)))))
new_not(False) → True
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs11(ywz5000, ywz4000)
new_ltEs18(ywz501, ywz401, bgc) → new_not(new_esEs8(new_compare19(ywz501, ywz401, bgc), GT))
new_esEs19(ywz500, ywz400, app(app(ty_@2, beb), bec)) → new_esEs7(ywz500, ywz400, beb, bec)
new_esEs26(ywz5002, ywz4002, app(ty_Ratio, cdh)) → new_esEs18(ywz5002, ywz4002, cdh)
new_ltEs5(ywz5011, ywz4011, ty_Integer) → new_ltEs14(ywz5011, ywz4011)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Char, cc) → new_ltEs15(ywz5010, ywz4010)
new_lt19(ywz500, ywz400, ty_Bool) → new_lt11(ywz500, ywz400)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt12(ywz500, ywz400) → new_esEs8(new_compare9(ywz500, ywz400), LT)
new_esEs19(ywz500, ywz400, ty_Double) → new_esEs17(ywz500, ywz400)
new_ltEs8(Just(ywz5010), Just(ywz4010), app(ty_[], ca)) → new_ltEs16(ywz5010, ywz4010, ca)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Double, cc) → new_ltEs17(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), baf, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_ltEs11(False, False) → True
new_ltEs5(ywz5011, ywz4011, ty_Float) → new_ltEs12(ywz5011, ywz4011)
new_compare7(ywz500, ywz400, bah, bba, bbb) → new_compare25(ywz500, ywz400, new_esEs6(ywz500, ywz400, bah, bba, bbb), bah, bba, bbb)
new_compare28(ywz500, ywz400, True) → EQ
new_esEs26(ywz5002, ywz4002, app(app(ty_Either, ceh), cfa)) → new_esEs5(ywz5002, ywz4002, ceh, cfa)
new_lt19(ywz500, ywz400, app(ty_Ratio, bgb)) → new_lt18(ywz500, ywz400, bgb)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Char) → new_ltEs15(ywz5010, ywz4010)
new_compare32(ywz5000, ywz4000, app(ty_Maybe, bee)) → new_compare18(ywz5000, ywz4000, bee)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_lt21(ywz5011, ywz4011, app(app(ty_@2, hb), hc)) → new_lt14(ywz5011, ywz4011, hb, hc)
new_esEs22(ywz5010, ywz4010, app(ty_[], gb)) → new_esEs16(ywz5010, ywz4010, gb)
new_ltEs19(ywz501, ywz401, app(ty_[], bea)) → new_ltEs16(ywz501, ywz401, bea)
new_compare32(ywz5000, ywz4000, ty_Ordering) → new_compare8(ywz5000, ywz4000)
new_lt7(ywz5010, ywz4010, app(app(ty_Either, bbg), bbh)) → new_lt4(ywz5010, ywz4010, bbg, bbh)
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs29(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_lt19(ywz500, ywz400, app(app(ty_@2, beb), bec)) → new_lt14(ywz500, ywz400, beb, bec)
new_ltEs10(Right(ywz5010), Right(ywz4010), de, ty_Double) → new_ltEs17(ywz5010, ywz4010)
new_esEs9(ywz5010, ywz4010, app(ty_Ratio, bff)) → new_esEs18(ywz5010, ywz4010, bff)
new_esEs22(ywz5010, ywz4010, ty_Int) → new_esEs10(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), baf, app(ty_[], daf)) → new_esEs16(ywz5000, ywz4000, daf)
new_esEs5(Left(ywz5000), Right(ywz4000), baf, bag) → False
new_esEs5(Right(ywz5000), Left(ywz4000), baf, bag) → False
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_ltEs19(ywz501, ywz401, app(ty_Maybe, bgd)) → new_ltEs8(ywz501, ywz401, bgd)
new_primCmpNat2(Zero, Zero) → EQ
new_esEs5(Right(ywz5000), Right(ywz4000), baf, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_primEqNat0(Succ(ywz50000), Zero) → False
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Integer) → new_ltEs14(ywz5010, ywz4010)
new_primPlusNat0(Zero, Zero) → Zero
new_esEs26(ywz5002, ywz4002, app(app(ty_@2, ceb), cec)) → new_esEs7(ywz5002, ywz4002, ceb, cec)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_ltEs6(LT, LT) → True
new_compare28(ywz500, ywz400, False) → new_compare11(ywz500, ywz400, new_ltEs11(ywz500, ywz400))
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Integer, bag) → new_esEs14(ywz5000, ywz4000)
new_ltEs20(ywz5012, ywz4012, ty_Char) → new_ltEs15(ywz5012, ywz4012)
new_ltEs6(EQ, LT) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs23(ywz5011, ywz4011, app(ty_Ratio, cbb)) → new_esEs18(ywz5011, ywz4011, cbb)
new_esEs4(Nothing, Nothing, h) → True
new_ltEs20(ywz5012, ywz4012, ty_Int) → new_ltEs7(ywz5012, ywz4012)
new_lt19(ywz500, ywz400, ty_Double) → new_lt17(ywz500, ywz400)
new_primCmpNat2(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat2(ywz500000, ywz400000)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat0(ywz50000, ywz4000)
new_esEs5(Right(ywz5000), Right(ywz4000), baf, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, bfa), bfb), bfc)) → new_esEs6(ywz5000, ywz4000, bfa, bfb, bfc)
new_compare32(ywz5000, ywz4000, ty_Char) → new_compare31(ywz5000, ywz4000)
new_ltEs10(Right(ywz5010), Right(ywz4010), de, app(ty_[], ef)) → new_ltEs16(ywz5010, ywz4010, ef)
new_esEs11(@0, @0) → True
new_esEs25(ywz5001, ywz4001, ty_@0) → new_esEs11(ywz5001, ywz4001)
new_compare210(ywz500, ywz400, True) → EQ
new_compare32(ywz5000, ywz4000, ty_@0) → new_compare29(ywz5000, ywz4000)
new_esEs16([], :(ywz4000, ywz4001), bed) → False
new_esEs16(:(ywz5000, ywz5001), [], bed) → False
new_primCmpNat0(ywz50000, Zero) → GT
new_compare30(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, bee)) → new_esEs4(ywz5000, ywz4000, bee)
new_ltEs20(ywz5012, ywz4012, ty_Double) → new_ltEs17(ywz5012, ywz4012)
new_ltEs20(ywz5012, ywz4012, app(app(ty_Either, hf), hg)) → new_ltEs10(ywz5012, ywz4012, hf, hg)
new_primPlusNat1(Succ(ywz2170), ywz400100) → Succ(Succ(new_primPlusNat0(ywz2170, ywz400100)))
new_compare16(ywz500, ywz400, True, bah, bba, bbb) → LT
new_compare13(ywz126, ywz127, ywz128, ywz129, False, ywz131, bfh, bga) → new_compare12(ywz126, ywz127, ywz128, ywz129, ywz131, bfh, bga)
new_compare32(ywz5000, ywz4000, ty_Int) → new_compare10(ywz5000, ywz4000)
new_compare23(ywz500, ywz400, True, baf, bag) → EQ
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare8(ywz500, ywz400) → new_compare210(ywz500, ywz400, new_esEs8(ywz500, ywz400))
new_lt8(ywz500, ywz400) → new_esEs8(new_compare10(ywz500, ywz400), LT)
new_esEs25(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_lt7(ywz5010, ywz4010, ty_Ordering) → new_lt6(ywz5010, ywz4010)
new_lt20(ywz5010, ywz4010, app(ty_Maybe, eg)) → new_lt9(ywz5010, ywz4010, eg)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], cfg)) → new_esEs16(ywz5000, ywz4000, cfg)
new_ltEs20(ywz5012, ywz4012, app(app(app(ty_@3, hh), baa), bab)) → new_ltEs13(ywz5012, ywz4012, hh, baa, bab)
new_lt7(ywz5010, ywz4010, ty_Integer) → new_lt13(ywz5010, ywz4010)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bge)) → new_esEs18(ywz5000, ywz4000, bge)
new_compare5([], :(ywz4000, ywz4001), bed) → LT
new_lt19(ywz500, ywz400, app(app(ty_Either, baf), bag)) → new_lt4(ywz500, ywz400, baf, bag)
new_ltEs20(ywz5012, ywz4012, app(ty_[], bae)) → new_ltEs16(ywz5012, ywz4012, bae)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bhh)) → new_esEs4(ywz5001, ywz4001, bhh)
new_ltEs10(Right(ywz5010), Right(ywz4010), de, ty_Bool) → new_ltEs11(ywz5010, ywz4010)
new_ltEs9(ywz501, ywz401) → new_not(new_esEs8(new_compare29(ywz501, ywz401), GT))
new_lt20(ywz5010, ywz4010, app(ty_[], gb)) → new_lt16(ywz5010, ywz4010, gb)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Int, bag) → new_esEs10(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), app(app(ty_@2, chb), chc), bag) → new_esEs7(ywz5000, ywz4000, chb, chc)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs13(ywz5001, ywz4001)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_esEs25(ywz5001, ywz4001, ty_Bool) → new_esEs12(ywz5001, ywz4001)
new_ltEs12(ywz501, ywz401) → new_not(new_esEs8(new_compare9(ywz501, ywz401), GT))
new_ltEs8(Just(ywz5010), Just(ywz4010), app(ty_Maybe, ba)) → new_ltEs8(ywz5010, ywz4010, ba)
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_compare19(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare10(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_esEs20(ywz5000, ywz4000, app(ty_[], bha)) → new_esEs16(ywz5000, ywz4000, bha)
new_asAs(False, ywz117) → False
new_ltEs11(True, True) → True
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_lt5(ywz500, ywz400, bah, bba, bbb) → new_esEs8(new_compare7(ywz500, ywz400, bah, bba, bbb), LT)
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_lt19(ywz500, ywz400, ty_Float) → new_lt12(ywz500, ywz400)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, cag), cah)) → new_esEs5(ywz5001, ywz4001, cag, cah)
new_esEs23(ywz5011, ywz4011, app(app(app(ty_@3, gg), gh), ha)) → new_esEs6(ywz5011, ywz4011, gg, gh, ha)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5010, ywz4010, app(ty_Maybe, bbe)) → new_esEs4(ywz5010, ywz4010, bbe)
new_ltEs8(Just(ywz5010), Just(ywz4010), app(app(ty_@2, bg), bh)) → new_ltEs4(ywz5010, ywz4010, bg, bh)
new_compare17(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, che), chf), chg), bag) → new_esEs6(ywz5000, ywz4000, che, chf, chg)
new_esEs16(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bed) → new_asAs(new_esEs27(ywz5000, ywz4000, bed), new_esEs16(ywz5001, ywz4001, bed))
new_esEs9(ywz5010, ywz4010, ty_Bool) → new_esEs12(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, app(ty_[], cbh)) → new_esEs16(ywz5000, ywz4000, cbh)
new_esEs23(ywz5011, ywz4011, app(app(ty_@2, hb), hc)) → new_esEs7(ywz5011, ywz4011, hb, hc)
new_primCmpNat1(Succ(ywz40000), ywz50000) → new_primCmpNat2(ywz40000, ywz50000)
new_compare32(ywz5000, ywz4000, ty_Double) → new_compare30(ywz5000, ywz4000)
new_primCmpNat2(Succ(ywz500000), Zero) → GT
new_compare32(ywz5000, ywz4000, app(app(ty_Either, bfd), bfe)) → new_compare6(ywz5000, ywz4000, bfd, bfe)
new_compare14(ywz500, ywz400, True, h) → LT
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs25(ywz5001, ywz4001, app(app(app(ty_@3, cdc), cdd), cde)) → new_esEs6(ywz5001, ywz4001, cdc, cdd, cde)
new_esEs24(ywz5000, ywz4000, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_lt20(ywz5010, ywz4010, app(ty_Ratio, cba)) → new_lt18(ywz5010, ywz4010, cba)
new_ltEs6(LT, GT) → True
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs12(False, True) → False
new_esEs12(True, False) → False
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_compare24(@2(ywz500, ywz501), @2(ywz400, ywz401), False, bbc, bbd) → new_compare13(ywz500, ywz501, ywz400, ywz401, new_lt19(ywz500, ywz400, bbc), new_asAs(new_esEs19(ywz500, ywz400, bbc), new_ltEs19(ywz501, ywz401, bbd)), bbc, bbd)
new_lt19(ywz500, ywz400, ty_Integer) → new_lt13(ywz500, ywz400)
new_esEs5(Right(ywz5000), Right(ywz4000), baf, app(ty_Maybe, dac)) → new_esEs4(ywz5000, ywz4000, dac)
new_compare10(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Int, cc) → new_ltEs7(ywz5010, ywz4010)
new_esEs25(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs16([], [], bed) → True
new_esEs19(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_compare11(ywz500, ywz400, False) → GT
new_ltEs8(Nothing, Nothing, bgd) → True
new_compare15(ywz50, ywz40, bbc, bbd) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, bbc, bbd), bbc, bbd)
new_ltEs10(Right(ywz5010), Left(ywz4010), de, cc) → False
new_compare11(ywz500, ywz400, True) → LT
new_esEs5(Left(ywz5000), Left(ywz4000), app(app(ty_Either, chh), daa), bag) → new_esEs5(ywz5000, ywz4000, chh, daa)
new_lt21(ywz5011, ywz4011, ty_Char) → new_lt15(ywz5011, ywz4011)
new_ltEs10(Right(ywz5010), Right(ywz4010), de, ty_Char) → new_ltEs15(ywz5010, ywz4010)
new_lt21(ywz5011, ywz4011, ty_Double) → new_lt17(ywz5011, ywz4011)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Bool) → new_ltEs11(ywz5010, ywz4010)
new_ltEs14(ywz501, ywz401) → new_not(new_esEs8(new_compare17(ywz501, ywz401), GT))
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, cfe), cff)) → new_esEs7(ywz5000, ywz4000, cfe, cff)
new_lt21(ywz5011, ywz4011, ty_Float) → new_lt12(ywz5011, ywz4011)
new_compare18(ywz500, ywz400, h) → new_compare26(ywz500, ywz400, new_esEs4(ywz500, ywz400, h), h)
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_lt9(ywz500, ywz400, h) → new_esEs8(new_compare18(ywz500, ywz400, h), LT)
new_lt19(ywz500, ywz400, ty_@0) → new_lt10(ywz500, ywz400)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, bgg), bgh)) → new_esEs7(ywz5000, ywz4000, bgg, bgh)
new_lt20(ywz5010, ywz4010, app(app(app(ty_@3, fd), ff), fg)) → new_lt5(ywz5010, ywz4010, fd, ff, fg)
new_esEs5(Right(ywz5000), Right(ywz4000), baf, app(app(ty_@2, dad), dae)) → new_esEs7(ywz5000, ywz4000, dad, dae)
new_primPlusNat0(Succ(ywz21700), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat0(ywz21700, ywz4001000)))
new_esEs23(ywz5011, ywz4011, app(ty_[], hd)) → new_esEs16(ywz5011, ywz4011, hd)
new_lt4(ywz500, ywz400, baf, bag) → new_esEs8(new_compare6(ywz500, ywz400, baf, bag), LT)
new_esEs9(ywz5010, ywz4010, app(app(app(ty_@3, bca), bcb), bcc)) → new_esEs6(ywz5010, ywz4010, bca, bcb, bcc)
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs11(ywz5001, ywz4001)
new_compare31(Char(ywz5000), Char(ywz4000)) → new_primCmpNat2(ywz5000, ywz4000)
new_esEs19(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_ltEs6(LT, EQ) → True
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, cad), cae), caf)) → new_esEs6(ywz5001, ywz4001, cad, cae, caf)
new_ltEs6(GT, LT) → False
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_asAs(True, ywz117) → ywz117
new_esEs19(ywz500, ywz400, ty_@0) → new_esEs11(ywz500, ywz400)
new_ltEs19(ywz501, ywz401, ty_Float) → new_ltEs12(ywz501, ywz401)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_ltEs19(ywz501, ywz401, ty_@0) → new_ltEs9(ywz501, ywz401)
new_esEs23(ywz5011, ywz4011, ty_Int) → new_esEs10(ywz5011, ywz4011)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs10(ywz5001, ywz4001)
new_lt20(ywz5010, ywz4010, ty_Char) → new_lt15(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_ltEs17(ywz501, ywz401) → new_not(new_esEs8(new_compare30(ywz501, ywz401), GT))
new_esEs19(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_ltEs5(ywz5011, ywz4011, ty_Ordering) → new_ltEs6(ywz5011, ywz4011)
new_compare5([], [], bed) → EQ
new_ltEs10(Right(ywz5010), Right(ywz4010), de, ty_Ordering) → new_ltEs6(ywz5010, ywz4010)
new_ltEs20(ywz5012, ywz4012, ty_@0) → new_ltEs9(ywz5012, ywz4012)
new_ltEs20(ywz5012, ywz4012, ty_Ordering) → new_ltEs6(ywz5012, ywz4012)
new_lt17(ywz500, ywz400) → new_esEs8(new_compare30(ywz500, ywz400), LT)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs12(ywz5001, ywz4001)
new_esEs22(ywz5010, ywz4010, app(app(ty_Either, fb), fc)) → new_esEs5(ywz5010, ywz4010, fb, fc)
new_ltEs5(ywz5011, ywz4011, ty_Bool) → new_ltEs11(ywz5011, ywz4011)
new_esEs10(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_primCompAux00(ywz279, GT) → GT
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Integer, cc) → new_ltEs14(ywz5010, ywz4010)
new_ltEs10(Right(ywz5010), Right(ywz4010), de, ty_@0) → new_ltEs9(ywz5010, ywz4010)
new_compare19(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare17(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_esEs21(ywz5001, ywz4001, app(ty_[], cac)) → new_esEs16(ywz5001, ywz4001, cac)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs5(Right(ywz5000), Right(ywz4000), baf, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_lt7(ywz5010, ywz4010, ty_@0) → new_lt10(ywz5010, ywz4010)
new_lt19(ywz500, ywz400, ty_Char) → new_lt15(ywz500, ywz400)
new_ltEs10(Right(ywz5010), Right(ywz4010), de, app(ty_Ratio, cgg)) → new_ltEs18(ywz5010, ywz4010, cgg)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_ltEs19(ywz501, ywz401, ty_Bool) → new_ltEs11(ywz501, ywz401)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bhg)) → new_esEs18(ywz5001, ywz4001, bhg)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_ltEs19(x0, x1, ty_Double)
new_sr(x0, x1)
new_ltEs10(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs26(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare32(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpNat1(Succ(x0), x1)
new_esEs20(x0, x1, ty_Double)
new_compare10(x0, x1)
new_compare32(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_Ordering)
new_esEs7(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs16(:(x0, x1), [], x2)
new_esEs5(Right(x0), Right(x1), x2, ty_@0)
new_esEs21(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Int)
new_esEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs16(x0, x1, x2)
new_ltEs10(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_lt10(x0, x1)
new_primPlusNat1(Succ(x0), x1)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare32(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Char)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_primCompAux00(x0, EQ)
new_esEs12(False, False)
new_lt19(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Bool)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_primMulNat0(Succ(x0), Zero)
new_ltEs10(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_primPlusNat0(Zero, Succ(x0))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs5(x0, x1, ty_@0)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_compare25(x0, x1, True, x2, x3, x4)
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Left(x0), Left(x1), ty_Bool, x2)
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_primMulInt(Pos(x0), Pos(x1))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1, app(ty_Ratio, x2))
new_esEs11(@0, @0)
new_lt14(x0, x1, x2, x3)
new_lt20(x0, x1, ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), ty_Int, x2)
new_esEs8(GT, GT)
new_lt20(x0, x1, ty_Bool)
new_compare26(x0, x1, True, x2)
new_esEs19(x0, x1, ty_Char)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare12(x0, x1, x2, x3, True, x4, x5)
new_compare32(x0, x1, ty_Float)
new_esEs8(LT, LT)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs18(:%(x0, x1), :%(x2, x3), x4)
new_primEqNat0(Succ(x0), Succ(x1))
new_primCmpNat0(x0, Zero)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs19(x0, x1, ty_Float)
new_esEs5(Right(x0), Right(x1), x2, ty_Double)
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Bool)
new_esEs5(Right(x0), Right(x1), x2, ty_Integer)
new_esEs10(x0, x1)
new_compare5(:(x0, x1), :(x2, x3), x4)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_compare23(x0, x1, False, x2, x3)
new_ltEs9(x0, x1)
new_ltEs6(EQ, EQ)
new_ltEs20(x0, x1, ty_Integer)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare24(@2(x0, x1), @2(x2, x3), False, x4, x5)
new_esEs28(x0, x1, ty_Int)
new_lt21(x0, x1, ty_Bool)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_primCompAux00(x0, LT)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Just(x0), Just(x1), ty_@0)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_ltEs6(LT, EQ)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(EQ, LT)
new_compare29(@0, @0)
new_ltEs20(x0, x1, ty_Char)
new_ltEs10(Left(x0), Left(x1), ty_Bool, x2)
new_compare32(x0, x1, ty_Double)
new_ltEs8(Just(x0), Nothing, x1)
new_primEqNat0(Zero, Zero)
new_esEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs22(x0, x1, ty_Float)
new_compare110(x0, x1, False, x2, x3)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt4(x0, x1, x2, x3)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_lt19(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_esEs23(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, x2)
new_compare30(Double(x0, x1), Double(x2, x3))
new_ltEs10(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_esEs29(x0, x1, ty_Int)
new_ltEs8(Nothing, Just(x0), x1)
new_ltEs19(x0, x1, ty_Bool)
new_primMulNat0(Zero, Zero)
new_ltEs5(x0, x1, ty_Int)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_lt7(x0, x1, ty_Char)
new_lt21(x0, x1, ty_Int)
new_lt20(x0, x1, ty_Ordering)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs20(x0, x1, ty_Ordering)
new_compare32(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Integer)
new_lt21(x0, x1, ty_Integer)
new_primCompAux0(x0, x1, x2, x3)
new_esEs4(Nothing, Just(x0), x1)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Integer)
new_compare28(x0, x1, True)
new_compare16(x0, x1, True, x2, x3, x4)
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_lt21(x0, x1, app(ty_[], x2))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_lt21(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs10(Right(x0), Right(x1), x2, ty_Char)
new_lt7(x0, x1, ty_@0)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt17(x0, x1)
new_esEs24(x0, x1, ty_Double)
new_esEs9(x0, x1, ty_Double)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_compare5(:(x0, x1), [], x2)
new_ltEs20(x0, x1, ty_Bool)
new_lt7(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs28(x0, x1, ty_Integer)
new_lt21(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, ty_Double)
new_esEs4(Nothing, Nothing, x0)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Right(x0), Right(x1), x2, ty_@0)
new_esEs22(x0, x1, ty_Double)
new_esEs20(x0, x1, ty_@0)
new_esEs23(x0, x1, ty_Float)
new_ltEs10(Left(x0), Left(x1), ty_Float, x2)
new_esEs24(x0, x1, ty_@0)
new_lt19(x0, x1, app(ty_Ratio, x2))
new_compare16(x0, x1, False, x2, x3, x4)
new_compare111(x0, x1, True)
new_ltEs19(x0, x1, ty_Char)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs4(Just(x0), Just(x1), ty_Double)
new_lt19(x0, x1, ty_@0)
new_esEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs24(x0, x1, ty_Float)
new_lt7(x0, x1, app(ty_Maybe, x2))
new_primCmpNat1(Zero, x0)
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Left(x0), Left(x1), ty_Float, x2)
new_primCmpNat2(Zero, Zero)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs13(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt19(x0, x1, ty_Bool)
new_primPlusNat0(Zero, Zero)
new_lt7(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, ty_Ordering)
new_esEs21(x0, x1, ty_Ordering)
new_compare17(Integer(x0), Integer(x1))
new_compare111(x0, x1, False)
new_compare25(x0, x1, False, x2, x3, x4)
new_compare32(x0, x1, ty_Bool)
new_esEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs5(Right(x0), Right(x1), x2, ty_Float)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_lt9(x0, x1, x2)
new_compare5([], :(x0, x1), x2)
new_compare32(x0, x1, ty_Ordering)
new_compare32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs22(x0, x1, ty_Int)
new_compare8(x0, x1)
new_esEs25(x0, x1, ty_Integer)
new_esEs16([], :(x0, x1), x2)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, ty_Ordering)
new_lt21(x0, x1, ty_Double)
new_lt7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_compare32(x0, x1, ty_@0)
new_lt21(x0, x1, ty_Ordering)
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs22(x0, x1, ty_@0)
new_primPlusNat1(Zero, x0)
new_esEs25(x0, x1, ty_@0)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_ltEs10(Left(x0), Left(x1), ty_Integer, x2)
new_lt7(x0, x1, ty_Bool)
new_ltEs10(Left(x0), Left(x1), ty_@0, x2)
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Ordering)
new_esEs12(True, True)
new_esEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, ty_@0)
new_compare6(x0, x1, x2, x3)
new_ltEs20(x0, x1, app(ty_[], x2))
new_compare15(x0, x1, x2, x3)
new_esEs14(Integer(x0), Integer(x1))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs20(x0, x1, ty_Int)
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_esEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs11(False, False)
new_lt19(x0, x1, ty_Integer)
new_primCompAux00(x0, GT)
new_ltEs10(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs24(x0, x1, ty_Char)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Zero, Succ(x0))
new_esEs8(EQ, EQ)
new_esEs9(x0, x1, ty_Bool)
new_primEqInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_lt21(x0, x1, ty_Float)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Int)
new_ltEs11(False, True)
new_ltEs11(True, False)
new_esEs19(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Bool)
new_esEs4(Just(x0), Nothing, x1)
new_esEs19(x0, x1, ty_Double)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare210(x0, x1, False)
new_sr0(Integer(x0), Integer(x1))
new_lt7(x0, x1, ty_Double)
new_compare13(x0, x1, x2, x3, False, x4, x5, x6)
new_compare13(x0, x1, x2, x3, True, x4, x5, x6)
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Int)
new_ltEs10(Right(x0), Right(x1), x2, ty_Int)
new_esEs24(x0, x1, ty_Ordering)
new_lt8(x0, x1)
new_esEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_ltEs10(Right(x0), Right(x1), x2, ty_Bool)
new_ltEs6(GT, GT)
new_compare28(x0, x1, False)
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_pePe(True, x0)
new_esEs27(x0, x1, app(ty_[], x2))
new_primCmpNat2(Succ(x0), Succ(x1))
new_ltEs19(x0, x1, ty_Ordering)
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_compare12(x0, x1, x2, x3, False, x4, x5)
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_compare11(x0, x1, False)
new_esEs22(x0, x1, ty_Bool)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Integer)
new_lt19(x0, x1, ty_Int)
new_lt18(x0, x1, x2)
new_ltEs10(Right(x0), Left(x1), x2, x3)
new_ltEs10(Left(x0), Right(x1), x2, x3)
new_ltEs20(x0, x1, ty_Float)
new_pePe(False, x0)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs24(x0, x1, ty_Integer)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt7(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Float)
new_esEs19(x0, x1, ty_Bool)
new_primCmpNat2(Zero, Succ(x0))
new_esEs23(x0, x1, ty_Bool)
new_ltEs6(LT, LT)
new_ltEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_compare32(x0, x1, app(ty_Maybe, x2))
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_compare11(x0, x1, True)
new_esEs5(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs10(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs9(x0, x1, ty_Float)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs25(x0, x1, ty_Double)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, ty_Int)
new_ltEs5(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, True)
new_esEs22(x0, x1, ty_Char)
new_ltEs7(x0, x1)
new_lt7(x0, x1, ty_Int)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_asAs(False, x0)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs19(x0, x1, ty_Ordering)
new_esEs23(x0, x1, ty_Ordering)
new_esEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_compare18(x0, x1, x2)
new_lt7(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Double)
new_compare32(x0, x1, app(ty_Ratio, x2))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_ltEs10(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs27(x0, x1, ty_Int)
new_compare9(Float(x0, x1), Float(x2, x3))
new_esEs9(x0, x1, ty_Int)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs12(False, True)
new_esEs12(True, False)
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_compare24(x0, x1, True, x2, x3)
new_lt16(x0, x1, x2)
new_esEs5(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, ty_@0)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, ty_Float)
new_esEs5(Right(x0), Left(x1), x2, x3)
new_esEs5(Left(x0), Right(x1), x2, x3)
new_esEs24(x0, x1, app(ty_[], x2))
new_lt19(x0, x1, ty_Double)
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Double)
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(x0, x1, ty_Double)
new_compare26(x0, x1, False, x2)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_esEs24(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_@0)
new_ltEs5(x0, x1, ty_Bool)
new_not(True)
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_compare5([], [], x0)
new_esEs27(x0, x1, ty_Char)
new_esEs5(Right(x0), Right(x1), x2, ty_Int)
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs20(x0, x1, ty_@0)
new_esEs29(x0, x1, ty_Integer)
new_lt11(x0, x1)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_@0)
new_primCmpNat0(x0, Succ(x1))
new_lt21(x0, x1, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_compare19(:%(x0, x1), :%(x2, x3), ty_Integer)
new_not(False)
new_ltEs5(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_Integer)
new_primCmpNat2(Succ(x0), Zero)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Left(x0), Left(x1), ty_Char, x2)
new_esEs9(x0, x1, ty_Integer)
new_compare23(x0, x1, True, x2, x3)
new_ltEs10(Left(x0), Left(x1), ty_Double, x2)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_ltEs15(x0, x1)
new_ltEs10(Right(x0), Right(x1), x2, ty_Double)
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs25(x0, x1, ty_Bool)
new_compare19(:%(x0, x1), :%(x2, x3), ty_Int)
new_asAs(True, x0)
new_ltEs14(x0, x1)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs21(x0, x1, ty_Float)
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_esEs15(Char(x0), Char(x1))
new_esEs19(x0, x1, ty_Integer)
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs19(x0, x1, ty_@0)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_esEs21(x0, x1, app(ty_[], x2))
new_compare14(x0, x1, False, x2)
new_compare7(x0, x1, x2, x3, x4)
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_lt20(x0, x1, ty_Float)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_compare27(x0, x1)
new_lt19(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_compare110(x0, x1, True, x2, x3)
new_ltEs5(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs26(x0, x1, ty_Char)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs5(Left(x0), Left(x1), ty_Double, x2)
new_compare14(x0, x1, True, x2)
new_esEs20(x0, x1, ty_Float)
new_ltEs19(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Double)
new_esEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_lt13(x0, x1)
new_compare32(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_esEs5(Left(x0), Left(x1), ty_@0, x2)
new_ltEs17(x0, x1)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Right(x0), Right(x1), x2, ty_Char)
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Zero), Pos(Zero))
new_lt20(x0, x1, ty_Char)
new_esEs25(x0, x1, ty_Float)
new_lt15(x0, x1)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primEqNat0(Zero, Succ(x0))
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_compare32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Double)
new_esEs13(Float(x0, x1), Float(x2, x3))
new_compare31(Char(x0), Char(x1))
new_ltEs8(Nothing, Nothing, x0)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_lt6(x0, x1)
new_ltEs10(Left(x0), Left(x1), app(ty_[], x2), x3)
new_lt5(x0, x1, x2, x3, x4)
new_esEs9(x0, x1, ty_@0)
new_ltEs19(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_lt19(x0, x1, ty_Ordering)
new_esEs20(x0, x1, ty_Char)
new_primPlusNat0(Succ(x0), Zero)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Bool)
new_lt12(x0, x1)
new_ltEs11(True, True)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_@0)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs12(x0, x1)
new_esEs16([], [], x0)
new_lt7(x0, x1, ty_Ordering)
From the DPs we obtained the following set of size-change graphs:
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
↳ HASKELL
↳ IFR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ NumRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
new_addToFM_C(Branch(ywz7430, ywz7431, ywz7432, ywz7433, ywz7434), ywz50, ywz9, h, ba, bb) → new_addToFM_C3(ywz7430, ywz7431, ywz7432, ywz7433, ywz7434, ywz50, ywz9, h, ba, bb)
new_addToFM_C1(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba, bb) → new_addToFM_C(ywz744, ywz50, ywz9, h, ba, bb)
new_addToFM_C2(ywz740, ywz741, ywz742, Branch(ywz7430, ywz7431, ywz7432, ywz7433, ywz7434), ywz744, ywz50, ywz9, True, h, ba, bb) → new_addToFM_C3(ywz7430, ywz7431, ywz7432, ywz7433, ywz7434, ywz50, ywz9, h, ba, bb)
new_addToFM_C3(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, h, ba, bb) → new_addToFM_C2(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt14(ywz50, ywz740, h, ba), h, ba, bb)
new_addToFM_C2(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba, bb) → new_addToFM_C1(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_gt(ywz50, ywz740, h, ba), h, ba, bb)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, ccb)) → new_esEs4(ywz5000, ywz4000, ccb)
new_esEs22(ywz5010, ywz4010, ty_Double) → new_esEs17(ywz5010, ywz4010)
new_primCmpNat0(ywz50000, Succ(ywz40000)) → new_primCmpNat2(ywz50000, ywz40000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, app(app(ty_Either, bga), bgb)) → new_esEs5(ywz5000, ywz4000, bga, bgb)
new_lt10(ywz500, ywz400) → new_esEs8(new_compare29(ywz500, ywz400), LT)
new_esEs27(ywz5000, ywz4000, app(ty_[], cbc)) → new_esEs16(ywz5000, ywz4000, cbc)
new_lt7(ywz5010, ywz4010, ty_Double) → new_lt17(ywz5010, ywz4010)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_@0, gd) → new_ltEs9(ywz5010, ywz4010)
new_esEs25(ywz5001, ywz4001, app(ty_[], bgg)) → new_esEs16(ywz5001, ywz4001, bgg)
new_esEs24(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs5(ywz5011, ywz4011, app(app(ty_Either, df), dg)) → new_ltEs10(ywz5011, ywz4011, df, dg)
new_gt(ywz50, ywz40, h, ba) → new_esEs8(new_compare15(ywz50, ywz40, h, ba), GT)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_ltEs19(ywz501, ywz401, ty_Char) → new_ltEs15(ywz501, ywz401)
new_ltEs10(Left(ywz5010), Right(ywz4010), gc, gd) → True
new_compare110(ywz500, ywz400, True, bc, bd) → LT
new_esEs5(Right(ywz5000), Right(ywz4000), bc, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, cag)) → new_esEs18(ywz5000, ywz4000, cag)
new_esEs23(ywz5011, ywz4011, app(app(ty_Either, bcf), bcg)) → new_esEs5(ywz5011, ywz4011, bcf, bcg)
new_esEs19(ywz500, ywz400, app(ty_[], fc)) → new_esEs16(ywz500, ywz400, fc)
new_lt7(ywz5010, ywz4010, ty_Bool) → new_lt11(ywz5010, ywz4010)
new_ltEs8(Just(ywz5010), Just(ywz4010), app(app(app(ty_@3, cdf), cdg), cdh)) → new_ltEs13(ywz5010, ywz4010, cdf, cdg, cdh)
new_esEs4(Just(ywz5000), Nothing, eh) → False
new_esEs4(Nothing, Just(ywz4000), eh) → False
new_esEs24(ywz5000, ywz4000, app(ty_Maybe, bfb)) → new_esEs4(ywz5000, ywz4000, bfb)
new_compare16(ywz500, ywz400, False, be, bf, bg) → GT
new_esEs9(ywz5010, ywz4010, ty_Char) → new_esEs15(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), bc, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs15(ywz501, ywz401) → new_not(new_esEs8(new_compare31(ywz501, ywz401), GT))
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs13(ywz5000, ywz4000)
new_esEs26(ywz5002, ywz4002, ty_Float) → new_esEs13(ywz5002, ywz4002)
new_primMulNat0(Zero, Zero) → Zero
new_esEs19(ywz500, ywz400, app(ty_Ratio, eg)) → new_esEs18(ywz500, ywz400, eg)
new_esEs26(ywz5002, ywz4002, app(ty_[], caa)) → new_esEs16(ywz5002, ywz4002, caa)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Double) → new_ltEs17(ywz5010, ywz4010)
new_primCompAux0(ywz5000, ywz4000, ywz251, fc) → new_primCompAux00(ywz251, new_compare32(ywz5000, ywz4000, fc))
new_ltEs20(ywz5012, ywz4012, ty_Float) → new_ltEs12(ywz5012, ywz4012)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ccf), ccg), cch)) → new_esEs6(ywz5000, ywz4000, ccf, ccg, cch)
new_esEs12(True, True) → True
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, gh)) → new_esEs4(ywz5000, ywz4000, gh)
new_lt19(ywz500, ywz400, app(ty_Maybe, eh)) → new_lt9(ywz500, ywz400, eh)
new_lt21(ywz5011, ywz4011, ty_Ordering) → new_lt6(ywz5011, ywz4011)
new_compare32(ywz5000, ywz4000, app(app(app(ty_@3, cbd), cbe), cbf)) → new_compare7(ywz5000, ywz4000, cbd, cbe, cbf)
new_ltEs19(ywz501, ywz401, ty_Integer) → new_ltEs14(ywz501, ywz401)
new_ltEs20(ywz5012, ywz4012, app(ty_Maybe, bdg)) → new_ltEs8(ywz5012, ywz4012, bdg)
new_ltEs5(ywz5011, ywz4011, ty_Char) → new_ltEs15(ywz5011, ywz4011)
new_esEs23(ywz5011, ywz4011, ty_Bool) → new_esEs12(ywz5011, ywz4011)
new_esEs19(ywz500, ywz400, ty_Int) → new_esEs10(ywz500, ywz400)
new_esEs25(ywz5001, ywz4001, app(ty_Ratio, bgc)) → new_esEs18(ywz5001, ywz4001, bgc)
new_lt19(ywz500, ywz400, ty_Ordering) → new_lt6(ywz500, ywz400)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_@0) → new_ltEs9(ywz5010, ywz4010)
new_esEs26(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_esEs23(ywz5011, ywz4011, app(ty_Maybe, bce)) → new_esEs4(ywz5011, ywz4011, bce)
new_lt21(ywz5011, ywz4011, app(ty_[], bde)) → new_lt16(ywz5011, ywz4011, bde)
new_esEs23(ywz5011, ywz4011, ty_Char) → new_esEs15(ywz5011, ywz4011)
new_lt21(ywz5011, ywz4011, ty_Bool) → new_lt11(ywz5011, ywz4011)
new_compare26(ywz500, ywz400, False, eh) → new_compare14(ywz500, ywz400, new_ltEs8(ywz500, ywz400, eh), eh)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Bool, bd) → new_esEs12(ywz5000, ywz4000)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Float, gd) → new_ltEs12(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), bc, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_lt18(ywz500, ywz400, eg) → new_esEs8(new_compare19(ywz500, ywz400, eg), LT)
new_esEs9(ywz5010, ywz4010, ty_Int) → new_esEs10(ywz5010, ywz4010)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Int) → new_ltEs7(ywz5010, ywz4010)
new_lt20(ywz5010, ywz4010, ty_Float) → new_lt12(ywz5010, ywz4010)
new_lt11(ywz500, ywz400) → new_esEs8(new_compare27(ywz500, ywz400), LT)
new_esEs26(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_esEs26(ywz5002, ywz4002, app(ty_Maybe, bhf)) → new_esEs4(ywz5002, ywz4002, bhf)
new_esEs22(ywz5010, ywz4010, app(ty_Ratio, bcd)) → new_esEs18(ywz5010, ywz4010, bcd)
new_esEs19(ywz500, ywz400, app(app(ty_Either, bc), bd)) → new_esEs5(ywz500, ywz400, bc, bd)
new_esEs5(Right(ywz5000), Right(ywz4000), bc, app(app(app(ty_@3, dah), dba), dbb)) → new_esEs6(ywz5000, ywz4000, dah, dba, dbb)
new_compare32(ywz5000, ywz4000, app(app(ty_@2, cba), cbb)) → new_compare15(ywz5000, ywz4000, cba, cbb)
new_ltEs5(ywz5011, ywz4011, ty_Int) → new_ltEs7(ywz5011, ywz4011)
new_ltEs10(Right(ywz5010), Right(ywz4010), gc, app(app(ty_@2, cge), cgf)) → new_ltEs4(ywz5010, ywz4010, cge, cgf)
new_compare32(ywz5000, ywz4000, ty_Float) → new_compare9(ywz5000, ywz4000)
new_esEs25(ywz5001, ywz4001, ty_Float) → new_esEs13(ywz5001, ywz4001)
new_esEs9(ywz5010, ywz4010, ty_Integer) → new_esEs14(ywz5010, ywz4010)
new_pePe(False, ywz250) → ywz250
new_esEs25(ywz5001, ywz4001, app(app(ty_@2, bge), bgf)) → new_esEs7(ywz5001, ywz4001, bge, bgf)
new_lt20(ywz5010, ywz4010, ty_Bool) → new_lt11(ywz5010, ywz4010)
new_compare29(@0, @0) → EQ
new_ltEs19(ywz501, ywz401, app(app(ty_@2, bh), ca)) → new_ltEs4(ywz501, ywz401, bh, ca)
new_esEs7(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fa, fb) → new_asAs(new_esEs20(ywz5000, ywz4000, fa), new_esEs21(ywz5001, ywz4001, fb))
new_ltEs10(Right(ywz5010), Right(ywz4010), gc, ty_Float) → new_ltEs12(ywz5010, ywz4010)
new_lt19(ywz500, ywz400, app(ty_[], fc)) → new_lt16(ywz500, ywz400, fc)
new_lt21(ywz5011, ywz4011, app(ty_Ratio, bdf)) → new_lt18(ywz5011, ywz4011, bdf)
new_lt6(ywz500, ywz400) → new_esEs8(new_compare8(ywz500, ywz400), LT)
new_compare12(ywz126, ywz127, ywz128, ywz129, False, ge, gf) → GT
new_lt21(ywz5011, ywz4011, app(app(app(ty_@3, bch), bda), bdb)) → new_lt5(ywz5011, ywz4011, bch, bda, bdb)
new_ltEs5(ywz5011, ywz4011, app(app(ty_@2, ec), ed)) → new_ltEs4(ywz5011, ywz4011, ec, ed)
new_esEs24(ywz5000, ywz4000, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_esEs26(ywz5002, ywz4002, ty_Bool) → new_esEs12(ywz5002, ywz4002)
new_esEs17(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs10(Left(ywz5010), Left(ywz4010), app(app(app(ty_@3, ceh), cfa), cfb), gd) → new_ltEs13(ywz5010, ywz4010, ceh, cfa, cfb)
new_compare32(ywz5000, ywz4000, ty_Bool) → new_compare27(ywz5000, ywz4000)
new_ltEs6(GT, EQ) → False
new_lt20(ywz5010, ywz4010, app(app(ty_@2, bca), bcb)) → new_lt14(ywz5010, ywz4010, bca, bcb)
new_ltEs10(Left(ywz5010), Left(ywz4010), app(app(ty_Either, cef), ceg), gd) → new_ltEs10(ywz5010, ywz4010, cef, ceg)
new_esEs22(ywz5010, ywz4010, ty_Ordering) → new_esEs8(ywz5010, ywz4010)
new_ltEs11(False, True) → True
new_esEs9(ywz5010, ywz4010, ty_Double) → new_esEs17(ywz5010, ywz4010)
new_compare111(ywz500, ywz400, False) → GT
new_ltEs19(ywz501, ywz401, app(ty_Ratio, fd)) → new_ltEs18(ywz501, ywz401, fd)
new_compare111(ywz500, ywz400, True) → LT
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_lt21(ywz5011, ywz4011, app(app(ty_Either, bcf), bcg)) → new_lt4(ywz5011, ywz4011, bcf, bcg)
new_lt16(ywz500, ywz400, fc) → new_esEs8(new_compare5(ywz500, ywz400, fc), LT)
new_ltEs19(ywz501, ywz401, ty_Double) → new_ltEs17(ywz501, ywz401)
new_esEs5(Left(ywz5000), Left(ywz4000), app(ty_Maybe, chb), bd) → new_esEs4(ywz5000, ywz4000, chb)
new_ltEs19(ywz501, ywz401, ty_Int) → new_ltEs7(ywz501, ywz401)
new_compare25(ywz500, ywz400, False, be, bf, bg) → new_compare16(ywz500, ywz400, new_ltEs13(ywz500, ywz400, be, bf, bg), be, bf, bg)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Ordering, bd) → new_esEs8(ywz5000, ywz4000)
new_ltEs20(ywz5012, ywz4012, app(app(ty_@2, bee), bef)) → new_ltEs4(ywz5012, ywz4012, bee, bef)
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat1(ywz4000, ywz50000)
new_esEs26(ywz5002, ywz4002, ty_Double) → new_esEs17(ywz5002, ywz4002)
new_ltEs8(Nothing, Just(ywz4010), ff) → True
new_esEs9(ywz5010, ywz4010, ty_Float) → new_esEs13(ywz5010, ywz4010)
new_compare6(ywz500, ywz400, bc, bd) → new_compare23(ywz500, ywz400, new_esEs5(ywz500, ywz400, bc, bd), bc, bd)
new_lt20(ywz5010, ywz4010, ty_Ordering) → new_lt6(ywz5010, ywz4010)
new_esEs25(ywz5001, ywz4001, app(app(ty_Either, bhc), bhd)) → new_esEs5(ywz5001, ywz4001, bhc, bhd)
new_esEs8(LT, LT) → True
new_ltEs10(Left(ywz5010), Left(ywz4010), app(ty_[], cfe), gd) → new_ltEs16(ywz5010, ywz4010, cfe)
new_compare25(ywz500, ywz400, True, be, bf, bg) → EQ
new_esEs19(ywz500, ywz400, app(ty_Maybe, eh)) → new_esEs4(ywz500, ywz400, eh)
new_lt7(ywz5010, ywz4010, app(ty_Ratio, dd)) → new_lt18(ywz5010, ywz4010, dd)
new_esEs25(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs19(ywz501, ywz401, app(app(ty_Either, gc), gd)) → new_ltEs10(ywz501, ywz401, gc, gd)
new_esEs19(ywz500, ywz400, ty_Bool) → new_esEs12(ywz500, ywz400)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_esEs25(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, hd), he), hf)) → new_esEs6(ywz5000, ywz4000, hd, he, hf)
new_ltEs10(Left(ywz5010), Left(ywz4010), app(ty_Maybe, cee), gd) → new_ltEs8(ywz5010, ywz4010, cee)
new_pePe(True, ywz250) → True
new_primEqNat0(Zero, Zero) → True
new_ltEs20(ywz5012, ywz4012, app(ty_Ratio, beh)) → new_ltEs18(ywz5012, ywz4012, beh)
new_esEs23(ywz5011, ywz4011, ty_@0) → new_esEs11(ywz5011, ywz4011)
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat1(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_esEs22(ywz5010, ywz4010, ty_@0) → new_esEs11(ywz5010, ywz4010)
new_ltEs20(ywz5012, ywz4012, ty_Integer) → new_ltEs14(ywz5012, ywz4012)
new_lt7(ywz5010, ywz4010, app(ty_[], dc)) → new_lt16(ywz5010, ywz4010, dc)
new_ltEs5(ywz5011, ywz4011, app(ty_Maybe, de)) → new_ltEs8(ywz5011, ywz4011, de)
new_esEs22(ywz5010, ywz4010, app(app(ty_@2, bca), bcb)) → new_esEs7(ywz5010, ywz4010, bca, bcb)
new_ltEs16(ywz501, ywz401, fg) → new_not(new_esEs8(new_compare5(ywz501, ywz401, fg), GT))
new_esEs19(ywz500, ywz400, ty_Float) → new_esEs13(ywz500, ywz400)
new_ltEs5(ywz5011, ywz4011, app(ty_Ratio, ef)) → new_ltEs18(ywz5011, ywz4011, ef)
new_esEs5(Right(ywz5000), Right(ywz4000), bc, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_compare110(ywz500, ywz400, False, bc, bd) → GT
new_ltEs4(@2(ywz5010, ywz5011), @2(ywz4010, ywz4011), bh, ca) → new_pePe(new_lt7(ywz5010, ywz4010, bh), new_asAs(new_esEs9(ywz5010, ywz4010, bh), new_ltEs5(ywz5011, ywz4011, ca)))
new_ltEs19(ywz501, ywz401, ty_Ordering) → new_ltEs6(ywz501, ywz401)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs9(ywz5010, ywz4010, ty_@0) → new_esEs11(ywz5010, ywz4010)
new_esEs18(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), eg) → new_asAs(new_esEs28(ywz5000, ywz4000, eg), new_esEs29(ywz5001, ywz4001, eg))
new_esEs9(ywz5010, ywz4010, app(ty_[], dc)) → new_esEs16(ywz5010, ywz4010, dc)
new_lt19(ywz500, ywz400, ty_Int) → new_lt8(ywz500, ywz400)
new_lt7(ywz5010, ywz4010, ty_Int) → new_lt8(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, app(app(ty_@2, bfc), bfd)) → new_esEs7(ywz5000, ywz4000, bfc, bfd)
new_ltEs10(Right(ywz5010), Right(ywz4010), gc, app(ty_Maybe, cfg)) → new_ltEs8(ywz5010, ywz4010, cfg)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat0(ywz40000, Zero)
new_esEs26(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_ltEs6(EQ, GT) → True
new_esEs5(Right(ywz5000), Right(ywz4000), bc, app(ty_Ratio, dac)) → new_esEs18(ywz5000, ywz4000, dac)
new_esEs8(GT, GT) → True
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat1(Zero, ywz40000)
new_compare32(ywz5000, ywz4000, app(ty_[], cbc)) → new_compare5(ywz5000, ywz4000, cbc)
new_lt7(ywz5010, ywz4010, app(app(app(ty_@3, ce), cf), cg)) → new_lt5(ywz5010, ywz4010, ce, cf, cg)
new_lt20(ywz5010, ywz4010, ty_Double) → new_lt17(ywz5010, ywz4010)
new_esEs26(ywz5002, ywz4002, app(app(app(ty_@3, cab), cac), cad)) → new_esEs6(ywz5002, ywz4002, cab, cac, cad)
new_esEs12(False, False) → True
new_esEs8(LT, GT) → False
new_esEs8(GT, LT) → False
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Bool, gd) → new_ltEs11(ywz5010, ywz4010)
new_esEs13(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cca)) → new_esEs18(ywz5000, ywz4000, cca)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare210(ywz500, ywz400, False) → new_compare111(ywz500, ywz400, new_ltEs6(ywz500, ywz400))
new_ltEs8(Just(ywz5010), Just(ywz4010), app(ty_Ratio, ced)) → new_ltEs18(ywz5010, ywz4010, ced)
new_ltEs7(ywz501, ywz401) → new_not(new_esEs8(new_compare10(ywz501, ywz401), GT))
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5010, ywz4010, app(app(app(ty_@3, bbf), bbg), bbh)) → new_esEs6(ywz5010, ywz4010, bbf, bbg, bbh)
new_esEs23(ywz5011, ywz4011, ty_Ordering) → new_esEs8(ywz5011, ywz4011)
new_esEs5(Left(ywz5000), Left(ywz4000), app(ty_[], che), bd) → new_esEs16(ywz5000, ywz4000, che)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Ordering, gd) → new_ltEs6(ywz5010, ywz4010)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_primCmpNat1(Zero, ywz50000) → LT
new_lt20(ywz5010, ywz4010, app(app(ty_Either, bbd), bbe)) → new_lt4(ywz5010, ywz4010, bbd, bbe)
new_compare23(ywz500, ywz400, False, bc, bd) → new_compare110(ywz500, ywz400, new_ltEs10(ywz500, ywz400, bc, bd), bc, bd)
new_ltEs5(ywz5011, ywz4011, app(ty_[], ee)) → new_ltEs16(ywz5011, ywz4011, ee)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_ltEs20(ywz5012, ywz4012, ty_Bool) → new_ltEs11(ywz5012, ywz4012)
new_ltEs10(Right(ywz5010), Right(ywz4010), gc, ty_Int) → new_ltEs7(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, app(app(app(ty_@3, bff), bfg), bfh)) → new_esEs6(ywz5000, ywz4000, bff, bfg, bfh)
new_ltEs6(EQ, EQ) → True
new_compare12(ywz126, ywz127, ywz128, ywz129, True, ge, gf) → LT
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bac), bad)) → new_esEs7(ywz5001, ywz4001, bac, bad)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_compare13(ywz126, ywz127, ywz128, ywz129, True, ywz131, ge, gf) → new_compare12(ywz126, ywz127, ywz128, ywz129, True, ge, gf)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, cbg), cbh)) → new_esEs5(ywz5000, ywz4000, cbg, cbh)
new_lt14(ywz50, ywz40, h, ba) → new_esEs8(new_compare15(ywz50, ywz40, h, ba), LT)
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_esEs8(EQ, EQ) → True
new_ltEs8(Just(ywz5010), Just(ywz4010), app(app(ty_Either, cdd), cde)) → new_ltEs10(ywz5010, ywz4010, cdd, cde)
new_primPlusNat1(Zero, ywz400100) → Succ(ywz400100)
new_lt7(ywz5010, ywz4010, ty_Float) → new_lt12(ywz5010, ywz4010)
new_ltEs5(ywz5011, ywz4011, app(app(app(ty_@3, dh), ea), eb)) → new_ltEs13(ywz5011, ywz4011, dh, ea, eb)
new_lt20(ywz5010, ywz4010, ty_@0) → new_lt10(ywz5010, ywz4010)
new_ltEs6(GT, GT) → True
new_lt7(ywz5010, ywz4010, ty_Char) → new_lt15(ywz5010, ywz4010)
new_esEs22(ywz5010, ywz4010, ty_Float) → new_esEs13(ywz5010, ywz4010)
new_compare24(ywz50, ywz40, True, h, ba) → EQ
new_lt13(ywz500, ywz400) → new_esEs8(new_compare17(ywz500, ywz400), LT)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_esEs26(ywz5002, ywz4002, ty_@0) → new_esEs11(ywz5002, ywz4002)
new_lt20(ywz5010, ywz4010, ty_Int) → new_lt8(ywz5010, ywz4010)
new_esEs23(ywz5011, ywz4011, ty_Integer) → new_esEs14(ywz5011, ywz4011)
new_compare32(ywz5000, ywz4000, ty_Integer) → new_compare17(ywz5000, ywz4000)
new_lt20(ywz5010, ywz4010, ty_Integer) → new_lt13(ywz5010, ywz4010)
new_esEs22(ywz5010, ywz4010, app(ty_Maybe, bbc)) → new_esEs4(ywz5010, ywz4010, bbc)
new_compare5(:(ywz5000, ywz5001), [], fc) → GT
new_esEs25(ywz5001, ywz4001, app(ty_Maybe, bgd)) → new_esEs4(ywz5001, ywz4001, bgd)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_esEs9(ywz5010, ywz4010, app(app(ty_@2, da), db)) → new_esEs7(ywz5010, ywz4010, da, db)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_ltEs11(True, False) → False
new_esEs5(Left(ywz5000), Left(ywz4000), ty_@0, bd) → new_esEs11(ywz5000, ywz4000)
new_compare14(ywz500, ywz400, False, eh) → GT
new_esEs5(Right(ywz5000), Right(ywz4000), bc, app(app(ty_Either, dbc), dbd)) → new_esEs5(ywz5000, ywz4000, dbc, dbd)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs10(Right(ywz5010), Right(ywz4010), gc, app(app(app(ty_@3, cgb), cgc), cgd)) → new_ltEs13(ywz5010, ywz4010, cgb, cgc, cgd)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Char, bd) → new_esEs15(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, app(ty_Ratio, bfa)) → new_esEs18(ywz5000, ywz4000, bfa)
new_esEs19(ywz500, ywz400, app(app(app(ty_@3, be), bf), bg)) → new_esEs6(ywz500, ywz400, be, bf, bg)
new_lt21(ywz5011, ywz4011, ty_Int) → new_lt8(ywz5011, ywz4011)
new_lt21(ywz5011, ywz4011, ty_Integer) → new_lt13(ywz5011, ywz4011)
new_compare5(:(ywz5000, ywz5001), :(ywz4000, ywz4001), fc) → new_primCompAux0(ywz5000, ywz4000, new_compare5(ywz5001, ywz4001, fc), fc)
new_esEs22(ywz5010, ywz4010, ty_Bool) → new_esEs12(ywz5010, ywz4010)
new_esEs29(ywz5001, ywz4001, ty_Int) → new_esEs10(ywz5001, ywz4001)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs10(ywz5000, ywz4000)
new_primCompAux00(ywz279, LT) → LT
new_ltEs10(Left(ywz5010), Left(ywz4010), app(ty_Ratio, cff), gd) → new_ltEs18(ywz5010, ywz4010, cff)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Float) → new_ltEs12(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_ltEs8(Just(ywz5010), Nothing, ff) → False
new_ltEs10(Right(ywz5010), Right(ywz4010), gc, app(app(ty_Either, cfh), cga)) → new_ltEs10(ywz5010, ywz4010, cfh, cga)
new_esEs22(ywz5010, ywz4010, ty_Char) → new_esEs15(ywz5010, ywz4010)
new_compare27(ywz500, ywz400) → new_compare28(ywz500, ywz400, new_esEs12(ywz500, ywz400))
new_lt21(ywz5011, ywz4011, app(ty_Maybe, bce)) → new_lt9(ywz5011, ywz4011, bce)
new_compare32(ywz5000, ywz4000, app(ty_Ratio, cag)) → new_compare19(ywz5000, ywz4000, cag)
new_ltEs5(ywz5011, ywz4011, ty_@0) → new_ltEs9(ywz5011, ywz4011)
new_esEs8(LT, EQ) → False
new_esEs8(EQ, LT) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primPlusNat0(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_primPlusNat0(Succ(ywz21700), Zero) → Succ(ywz21700)
new_esEs22(ywz5010, ywz4010, ty_Integer) → new_esEs14(ywz5010, ywz4010)
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), be, bf, bg) → new_asAs(new_esEs24(ywz5000, ywz4000, be), new_asAs(new_esEs25(ywz5001, ywz4001, bf), new_esEs26(ywz5002, ywz4002, bg)))
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, cda), cdb)) → new_esEs5(ywz5000, ywz4000, cda, cdb)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, hg), hh)) → new_esEs5(ywz5000, ywz4000, hg, hh)
new_esEs23(ywz5011, ywz4011, ty_Float) → new_esEs13(ywz5011, ywz4011)
new_ltEs10(Right(ywz5010), Right(ywz4010), gc, ty_Integer) → new_ltEs14(ywz5010, ywz4010)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Float, bd) → new_esEs13(ywz5000, ywz4000)
new_lt7(ywz5010, ywz4010, app(app(ty_@2, da), db)) → new_lt14(ywz5010, ywz4010, da, db)
new_sr0(Integer(ywz40000), Integer(ywz50010)) → Integer(new_primMulInt(ywz40000, ywz50010))
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_esEs5(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cha), bd) → new_esEs18(ywz5000, ywz4000, cha)
new_esEs25(ywz5001, ywz4001, ty_Int) → new_esEs10(ywz5001, ywz4001)
new_lt19(ywz500, ywz400, app(app(app(ty_@3, be), bf), bg)) → new_lt5(ywz500, ywz400, be, bf, bg)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Ordering) → new_ltEs6(ywz5010, ywz4010)
new_esEs9(ywz5010, ywz4010, app(app(ty_Either, cc), cd)) → new_esEs5(ywz5010, ywz4010, cc, cd)
new_primCmpNat2(Zero, Succ(ywz400000)) → LT
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_esEs26(ywz5002, ywz4002, ty_Int) → new_esEs10(ywz5002, ywz4002)
new_primCompAux00(ywz279, EQ) → ywz279
new_esEs23(ywz5011, ywz4011, ty_Double) → new_esEs17(ywz5011, ywz4011)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, cba), cbb)) → new_esEs7(ywz5000, ywz4000, cba, cbb)
new_lt7(ywz5010, ywz4010, app(ty_Maybe, cb)) → new_lt9(ywz5010, ywz4010, cb)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Double, bd) → new_esEs17(ywz5000, ywz4000)
new_ltEs5(ywz5011, ywz4011, ty_Double) → new_ltEs17(ywz5011, ywz4011)
new_esEs8(EQ, GT) → False
new_esEs8(GT, EQ) → False
new_ltEs19(ywz501, ywz401, app(app(app(ty_@3, fh), ga), gb)) → new_ltEs13(ywz501, ywz401, fh, ga, gb)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_lt21(ywz5011, ywz4011, ty_@0) → new_lt10(ywz5011, ywz4011)
new_lt15(ywz500, ywz400) → new_esEs8(new_compare31(ywz500, ywz400), LT)
new_compare26(ywz500, ywz400, True, eh) → EQ
new_esEs9(ywz5010, ywz4010, ty_Ordering) → new_esEs8(ywz5010, ywz4010)
new_ltEs10(Left(ywz5010), Left(ywz4010), app(app(ty_@2, cfc), cfd), gd) → new_ltEs4(ywz5010, ywz4010, cfc, cfd)
new_compare9(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_ltEs13(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), fh, ga, gb) → new_pePe(new_lt20(ywz5010, ywz4010, fh), new_asAs(new_esEs22(ywz5010, ywz4010, fh), new_pePe(new_lt21(ywz5011, ywz4011, ga), new_asAs(new_esEs23(ywz5011, ywz4011, ga), new_ltEs20(ywz5012, ywz4012, gb)))))
new_not(False) → True
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs11(ywz5000, ywz4000)
new_ltEs18(ywz501, ywz401, fd) → new_not(new_esEs8(new_compare19(ywz501, ywz401, fd), GT))
new_esEs19(ywz500, ywz400, app(app(ty_@2, fa), fb)) → new_esEs7(ywz500, ywz400, fa, fb)
new_esEs26(ywz5002, ywz4002, app(ty_Ratio, bhe)) → new_esEs18(ywz5002, ywz4002, bhe)
new_ltEs5(ywz5011, ywz4011, ty_Integer) → new_ltEs14(ywz5011, ywz4011)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Char, gd) → new_ltEs15(ywz5010, ywz4010)
new_lt19(ywz500, ywz400, ty_Bool) → new_lt11(ywz500, ywz400)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt12(ywz500, ywz400) → new_esEs8(new_compare9(ywz500, ywz400), LT)
new_esEs19(ywz500, ywz400, ty_Double) → new_esEs17(ywz500, ywz400)
new_ltEs8(Just(ywz5010), Just(ywz4010), app(ty_[], cec)) → new_ltEs16(ywz5010, ywz4010, cec)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Double, gd) → new_ltEs17(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), bc, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_ltEs11(False, False) → True
new_ltEs5(ywz5011, ywz4011, ty_Float) → new_ltEs12(ywz5011, ywz4011)
new_compare7(ywz500, ywz400, be, bf, bg) → new_compare25(ywz500, ywz400, new_esEs6(ywz500, ywz400, be, bf, bg), be, bf, bg)
new_compare28(ywz500, ywz400, True) → EQ
new_esEs26(ywz5002, ywz4002, app(app(ty_Either, cae), caf)) → new_esEs5(ywz5002, ywz4002, cae, caf)
new_lt19(ywz500, ywz400, app(ty_Ratio, eg)) → new_lt18(ywz500, ywz400, eg)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Char) → new_ltEs15(ywz5010, ywz4010)
new_compare32(ywz5000, ywz4000, app(ty_Maybe, cah)) → new_compare18(ywz5000, ywz4000, cah)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_lt21(ywz5011, ywz4011, app(app(ty_@2, bdc), bdd)) → new_lt14(ywz5011, ywz4011, bdc, bdd)
new_esEs22(ywz5010, ywz4010, app(ty_[], bcc)) → new_esEs16(ywz5010, ywz4010, bcc)
new_ltEs19(ywz501, ywz401, app(ty_[], fg)) → new_ltEs16(ywz501, ywz401, fg)
new_compare32(ywz5000, ywz4000, ty_Ordering) → new_compare8(ywz5000, ywz4000)
new_lt7(ywz5010, ywz4010, app(app(ty_Either, cc), cd)) → new_lt4(ywz5010, ywz4010, cc, cd)
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs29(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_lt19(ywz500, ywz400, app(app(ty_@2, fa), fb)) → new_lt14(ywz500, ywz400, fa, fb)
new_ltEs10(Right(ywz5010), Right(ywz4010), gc, ty_Double) → new_ltEs17(ywz5010, ywz4010)
new_esEs9(ywz5010, ywz4010, app(ty_Ratio, dd)) → new_esEs18(ywz5010, ywz4010, dd)
new_esEs22(ywz5010, ywz4010, ty_Int) → new_esEs10(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), bc, app(ty_[], dag)) → new_esEs16(ywz5000, ywz4000, dag)
new_esEs5(Left(ywz5000), Right(ywz4000), bc, bd) → False
new_esEs5(Right(ywz5000), Left(ywz4000), bc, bd) → False
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_ltEs19(ywz501, ywz401, app(ty_Maybe, ff)) → new_ltEs8(ywz501, ywz401, ff)
new_primCmpNat2(Zero, Zero) → EQ
new_esEs5(Right(ywz5000), Right(ywz4000), bc, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_primEqNat0(Succ(ywz50000), Zero) → False
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Integer) → new_ltEs14(ywz5010, ywz4010)
new_primPlusNat0(Zero, Zero) → Zero
new_esEs26(ywz5002, ywz4002, app(app(ty_@2, bhg), bhh)) → new_esEs7(ywz5002, ywz4002, bhg, bhh)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_ltEs6(LT, LT) → True
new_compare28(ywz500, ywz400, False) → new_compare11(ywz500, ywz400, new_ltEs11(ywz500, ywz400))
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Integer, bd) → new_esEs14(ywz5000, ywz4000)
new_ltEs20(ywz5012, ywz4012, ty_Char) → new_ltEs15(ywz5012, ywz4012)
new_ltEs6(EQ, LT) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs23(ywz5011, ywz4011, app(ty_Ratio, bdf)) → new_esEs18(ywz5011, ywz4011, bdf)
new_esEs4(Nothing, Nothing, eh) → True
new_ltEs20(ywz5012, ywz4012, ty_Int) → new_ltEs7(ywz5012, ywz4012)
new_lt19(ywz500, ywz400, ty_Double) → new_lt17(ywz500, ywz400)
new_primCmpNat2(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat2(ywz500000, ywz400000)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat0(ywz50000, ywz4000)
new_esEs5(Right(ywz5000), Right(ywz4000), bc, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, cbd), cbe), cbf)) → new_esEs6(ywz5000, ywz4000, cbd, cbe, cbf)
new_compare32(ywz5000, ywz4000, ty_Char) → new_compare31(ywz5000, ywz4000)
new_ltEs10(Right(ywz5010), Right(ywz4010), gc, app(ty_[], cgg)) → new_ltEs16(ywz5010, ywz4010, cgg)
new_esEs11(@0, @0) → True
new_esEs25(ywz5001, ywz4001, ty_@0) → new_esEs11(ywz5001, ywz4001)
new_compare210(ywz500, ywz400, True) → EQ
new_compare32(ywz5000, ywz4000, ty_@0) → new_compare29(ywz5000, ywz4000)
new_esEs16([], :(ywz4000, ywz4001), fc) → False
new_esEs16(:(ywz5000, ywz5001), [], fc) → False
new_primCmpNat0(ywz50000, Zero) → GT
new_compare30(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, cah)) → new_esEs4(ywz5000, ywz4000, cah)
new_ltEs20(ywz5012, ywz4012, ty_Double) → new_ltEs17(ywz5012, ywz4012)
new_ltEs20(ywz5012, ywz4012, app(app(ty_Either, bdh), bea)) → new_ltEs10(ywz5012, ywz4012, bdh, bea)
new_primPlusNat1(Succ(ywz2170), ywz400100) → Succ(Succ(new_primPlusNat0(ywz2170, ywz400100)))
new_compare16(ywz500, ywz400, True, be, bf, bg) → LT
new_compare13(ywz126, ywz127, ywz128, ywz129, False, ywz131, ge, gf) → new_compare12(ywz126, ywz127, ywz128, ywz129, ywz131, ge, gf)
new_compare32(ywz5000, ywz4000, ty_Int) → new_compare10(ywz5000, ywz4000)
new_compare23(ywz500, ywz400, True, bc, bd) → EQ
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare8(ywz500, ywz400) → new_compare210(ywz500, ywz400, new_esEs8(ywz500, ywz400))
new_lt8(ywz500, ywz400) → new_esEs8(new_compare10(ywz500, ywz400), LT)
new_esEs25(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_lt7(ywz5010, ywz4010, ty_Ordering) → new_lt6(ywz5010, ywz4010)
new_lt20(ywz5010, ywz4010, app(ty_Maybe, bbc)) → new_lt9(ywz5010, ywz4010, bbc)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], cce)) → new_esEs16(ywz5000, ywz4000, cce)
new_ltEs20(ywz5012, ywz4012, app(app(app(ty_@3, beb), bec), bed)) → new_ltEs13(ywz5012, ywz4012, beb, bec, bed)
new_lt7(ywz5010, ywz4010, ty_Integer) → new_lt13(ywz5010, ywz4010)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, gg)) → new_esEs18(ywz5000, ywz4000, gg)
new_compare5([], :(ywz4000, ywz4001), fc) → LT
new_lt19(ywz500, ywz400, app(app(ty_Either, bc), bd)) → new_lt4(ywz500, ywz400, bc, bd)
new_ltEs20(ywz5012, ywz4012, app(ty_[], beg)) → new_ltEs16(ywz5012, ywz4012, beg)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bab)) → new_esEs4(ywz5001, ywz4001, bab)
new_ltEs10(Right(ywz5010), Right(ywz4010), gc, ty_Bool) → new_ltEs11(ywz5010, ywz4010)
new_ltEs9(ywz501, ywz401) → new_not(new_esEs8(new_compare29(ywz501, ywz401), GT))
new_lt20(ywz5010, ywz4010, app(ty_[], bcc)) → new_lt16(ywz5010, ywz4010, bcc)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Int, bd) → new_esEs10(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), app(app(ty_@2, chc), chd), bd) → new_esEs7(ywz5000, ywz4000, chc, chd)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs13(ywz5001, ywz4001)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_esEs25(ywz5001, ywz4001, ty_Bool) → new_esEs12(ywz5001, ywz4001)
new_ltEs12(ywz501, ywz401) → new_not(new_esEs8(new_compare9(ywz501, ywz401), GT))
new_ltEs8(Just(ywz5010), Just(ywz4010), app(ty_Maybe, cdc)) → new_ltEs8(ywz5010, ywz4010, cdc)
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_compare19(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare10(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_esEs20(ywz5000, ywz4000, app(ty_[], hc)) → new_esEs16(ywz5000, ywz4000, hc)
new_asAs(False, ywz117) → False
new_ltEs11(True, True) → True
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_lt5(ywz500, ywz400, be, bf, bg) → new_esEs8(new_compare7(ywz500, ywz400, be, bf, bg), LT)
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_lt19(ywz500, ywz400, ty_Float) → new_lt12(ywz500, ywz400)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bba), bbb)) → new_esEs5(ywz5001, ywz4001, bba, bbb)
new_esEs23(ywz5011, ywz4011, app(app(app(ty_@3, bch), bda), bdb)) → new_esEs6(ywz5011, ywz4011, bch, bda, bdb)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5010, ywz4010, app(ty_Maybe, cb)) → new_esEs4(ywz5010, ywz4010, cb)
new_ltEs8(Just(ywz5010), Just(ywz4010), app(app(ty_@2, cea), ceb)) → new_ltEs4(ywz5010, ywz4010, cea, ceb)
new_compare17(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, chf), chg), chh), bd) → new_esEs6(ywz5000, ywz4000, chf, chg, chh)
new_esEs16(:(ywz5000, ywz5001), :(ywz4000, ywz4001), fc) → new_asAs(new_esEs27(ywz5000, ywz4000, fc), new_esEs16(ywz5001, ywz4001, fc))
new_esEs9(ywz5010, ywz4010, ty_Bool) → new_esEs12(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, app(ty_[], bfe)) → new_esEs16(ywz5000, ywz4000, bfe)
new_esEs23(ywz5011, ywz4011, app(app(ty_@2, bdc), bdd)) → new_esEs7(ywz5011, ywz4011, bdc, bdd)
new_primCmpNat1(Succ(ywz40000), ywz50000) → new_primCmpNat2(ywz40000, ywz50000)
new_compare32(ywz5000, ywz4000, ty_Double) → new_compare30(ywz5000, ywz4000)
new_primCmpNat2(Succ(ywz500000), Zero) → GT
new_compare32(ywz5000, ywz4000, app(app(ty_Either, cbg), cbh)) → new_compare6(ywz5000, ywz4000, cbg, cbh)
new_compare14(ywz500, ywz400, True, eh) → LT
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs25(ywz5001, ywz4001, app(app(app(ty_@3, bgh), bha), bhb)) → new_esEs6(ywz5001, ywz4001, bgh, bha, bhb)
new_esEs24(ywz5000, ywz4000, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_lt20(ywz5010, ywz4010, app(ty_Ratio, bcd)) → new_lt18(ywz5010, ywz4010, bcd)
new_ltEs6(LT, GT) → True
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs12(False, True) → False
new_esEs12(True, False) → False
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_compare24(@2(ywz500, ywz501), @2(ywz400, ywz401), False, h, ba) → new_compare13(ywz500, ywz501, ywz400, ywz401, new_lt19(ywz500, ywz400, h), new_asAs(new_esEs19(ywz500, ywz400, h), new_ltEs19(ywz501, ywz401, ba)), h, ba)
new_lt19(ywz500, ywz400, ty_Integer) → new_lt13(ywz500, ywz400)
new_esEs5(Right(ywz5000), Right(ywz4000), bc, app(ty_Maybe, dad)) → new_esEs4(ywz5000, ywz4000, dad)
new_compare10(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Int, gd) → new_ltEs7(ywz5010, ywz4010)
new_esEs25(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs16([], [], fc) → True
new_esEs19(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_compare11(ywz500, ywz400, False) → GT
new_ltEs8(Nothing, Nothing, ff) → True
new_compare15(ywz50, ywz40, h, ba) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, h, ba), h, ba)
new_ltEs10(Right(ywz5010), Left(ywz4010), gc, gd) → False
new_compare11(ywz500, ywz400, True) → LT
new_esEs5(Left(ywz5000), Left(ywz4000), app(app(ty_Either, daa), dab), bd) → new_esEs5(ywz5000, ywz4000, daa, dab)
new_lt21(ywz5011, ywz4011, ty_Char) → new_lt15(ywz5011, ywz4011)
new_ltEs10(Right(ywz5010), Right(ywz4010), gc, ty_Char) → new_ltEs15(ywz5010, ywz4010)
new_lt21(ywz5011, ywz4011, ty_Double) → new_lt17(ywz5011, ywz4011)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Bool) → new_ltEs11(ywz5010, ywz4010)
new_ltEs14(ywz501, ywz401) → new_not(new_esEs8(new_compare17(ywz501, ywz401), GT))
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, ccc), ccd)) → new_esEs7(ywz5000, ywz4000, ccc, ccd)
new_lt21(ywz5011, ywz4011, ty_Float) → new_lt12(ywz5011, ywz4011)
new_compare18(ywz500, ywz400, eh) → new_compare26(ywz500, ywz400, new_esEs4(ywz500, ywz400, eh), eh)
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_lt9(ywz500, ywz400, eh) → new_esEs8(new_compare18(ywz500, ywz400, eh), LT)
new_lt19(ywz500, ywz400, ty_@0) → new_lt10(ywz500, ywz400)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, ha), hb)) → new_esEs7(ywz5000, ywz4000, ha, hb)
new_lt20(ywz5010, ywz4010, app(app(app(ty_@3, bbf), bbg), bbh)) → new_lt5(ywz5010, ywz4010, bbf, bbg, bbh)
new_esEs5(Right(ywz5000), Right(ywz4000), bc, app(app(ty_@2, dae), daf)) → new_esEs7(ywz5000, ywz4000, dae, daf)
new_primPlusNat0(Succ(ywz21700), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat0(ywz21700, ywz4001000)))
new_esEs23(ywz5011, ywz4011, app(ty_[], bde)) → new_esEs16(ywz5011, ywz4011, bde)
new_lt4(ywz500, ywz400, bc, bd) → new_esEs8(new_compare6(ywz500, ywz400, bc, bd), LT)
new_esEs9(ywz5010, ywz4010, app(app(app(ty_@3, ce), cf), cg)) → new_esEs6(ywz5010, ywz4010, ce, cf, cg)
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs11(ywz5001, ywz4001)
new_compare31(Char(ywz5000), Char(ywz4000)) → new_primCmpNat2(ywz5000, ywz4000)
new_esEs19(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_ltEs6(LT, EQ) → True
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, baf), bag), bah)) → new_esEs6(ywz5001, ywz4001, baf, bag, bah)
new_ltEs6(GT, LT) → False
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_asAs(True, ywz117) → ywz117
new_esEs19(ywz500, ywz400, ty_@0) → new_esEs11(ywz500, ywz400)
new_ltEs19(ywz501, ywz401, ty_Float) → new_ltEs12(ywz501, ywz401)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_ltEs19(ywz501, ywz401, ty_@0) → new_ltEs9(ywz501, ywz401)
new_esEs23(ywz5011, ywz4011, ty_Int) → new_esEs10(ywz5011, ywz4011)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs10(ywz5001, ywz4001)
new_lt20(ywz5010, ywz4010, ty_Char) → new_lt15(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_ltEs17(ywz501, ywz401) → new_not(new_esEs8(new_compare30(ywz501, ywz401), GT))
new_esEs19(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_ltEs5(ywz5011, ywz4011, ty_Ordering) → new_ltEs6(ywz5011, ywz4011)
new_compare5([], [], fc) → EQ
new_ltEs10(Right(ywz5010), Right(ywz4010), gc, ty_Ordering) → new_ltEs6(ywz5010, ywz4010)
new_ltEs20(ywz5012, ywz4012, ty_@0) → new_ltEs9(ywz5012, ywz4012)
new_ltEs20(ywz5012, ywz4012, ty_Ordering) → new_ltEs6(ywz5012, ywz4012)
new_lt17(ywz500, ywz400) → new_esEs8(new_compare30(ywz500, ywz400), LT)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs12(ywz5001, ywz4001)
new_esEs22(ywz5010, ywz4010, app(app(ty_Either, bbd), bbe)) → new_esEs5(ywz5010, ywz4010, bbd, bbe)
new_ltEs5(ywz5011, ywz4011, ty_Bool) → new_ltEs11(ywz5011, ywz4011)
new_esEs10(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_primCompAux00(ywz279, GT) → GT
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Integer, gd) → new_ltEs14(ywz5010, ywz4010)
new_ltEs10(Right(ywz5010), Right(ywz4010), gc, ty_@0) → new_ltEs9(ywz5010, ywz4010)
new_compare19(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare17(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_esEs21(ywz5001, ywz4001, app(ty_[], bae)) → new_esEs16(ywz5001, ywz4001, bae)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs5(Right(ywz5000), Right(ywz4000), bc, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_lt7(ywz5010, ywz4010, ty_@0) → new_lt10(ywz5010, ywz4010)
new_lt19(ywz500, ywz400, ty_Char) → new_lt15(ywz500, ywz400)
new_ltEs10(Right(ywz5010), Right(ywz4010), gc, app(ty_Ratio, cgh)) → new_ltEs18(ywz5010, ywz4010, cgh)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_ltEs19(ywz501, ywz401, ty_Bool) → new_ltEs11(ywz501, ywz401)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, baa)) → new_esEs18(ywz5001, ywz4001, baa)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_ltEs19(x0, x1, ty_Double)
new_sr(x0, x1)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_compare14(x0, x1, True, x2)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_primCmpNat1(Succ(x0), x1)
new_esEs20(x0, x1, ty_Double)
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(x0, x1)
new_compare32(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_Ordering)
new_lt7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, ty_Int)
new_ltEs10(Right(x0), Right(x1), x2, ty_Float)
new_ltEs10(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs23(x0, x1, ty_Int)
new_lt10(x0, x1)
new_primPlusNat1(Succ(x0), x1)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_compare32(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Char)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_primCompAux00(x0, EQ)
new_esEs12(False, False)
new_lt19(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Char)
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, ty_Bool)
new_compare13(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_primMulNat0(Succ(x0), Zero)
new_ltEs10(Left(x0), Left(x1), ty_Bool, x2)
new_compare12(x0, x1, x2, x3, True, x4, x5)
new_primPlusNat0(Zero, Succ(x0))
new_lt19(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, ty_@0)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare6(x0, x1, x2, x3)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_lt21(x0, x1, app(ty_Maybe, x2))
new_primMulInt(Pos(x0), Pos(x1))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(@0, @0)
new_lt20(x0, x1, ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs20(x0, x1, ty_Ordering)
new_esEs8(GT, GT)
new_lt20(x0, x1, ty_Bool)
new_esEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs19(x0, x1, ty_Char)
new_compare32(x0, x1, ty_Float)
new_esEs8(LT, LT)
new_lt7(x0, x1, app(app(ty_@2, x2), x3))
new_primEqNat0(Succ(x0), Succ(x1))
new_primCmpNat0(x0, Zero)
new_esEs19(x0, x1, ty_Float)
new_ltEs20(x0, x1, ty_Int)
new_lt5(x0, x1, x2, x3, x4)
new_esEs27(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Bool)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_ltEs9(x0, x1)
new_compare32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(EQ, EQ)
new_ltEs20(x0, x1, ty_Integer)
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_compare26(x0, x1, True, x2)
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, ty_Int)
new_lt21(x0, x1, ty_Bool)
new_esEs16([], :(x0, x1), x2)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Nothing, Just(x0), x1)
new_primCompAux00(x0, LT)
new_esEs4(Just(x0), Just(x1), ty_@0)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Just(x0), Just(x1), ty_Int)
new_ltEs10(Right(x0), Right(x1), x2, ty_Char)
new_compare32(x0, x1, app(ty_Ratio, x2))
new_ltEs6(LT, EQ)
new_ltEs6(EQ, LT)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare29(@0, @0)
new_ltEs20(x0, x1, ty_Char)
new_lt21(x0, x1, app(ty_[], x2))
new_lt4(x0, x1, x2, x3)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_compare32(x0, x1, ty_Double)
new_primEqNat0(Zero, Zero)
new_esEs22(x0, x1, ty_Float)
new_ltEs10(Left(x0), Left(x1), ty_Int, x2)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_compare110(x0, x1, False, x2, x3)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, ty_Char)
new_lt19(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_esEs23(x0, x1, ty_Char)
new_ltEs10(Left(x0), Left(x1), ty_Ordering, x2)
new_compare30(Double(x0, x1), Double(x2, x3))
new_lt20(x0, x1, app(ty_[], x2))
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, ty_Bool)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Zero, Zero)
new_ltEs5(x0, x1, ty_Int)
new_lt7(x0, x1, ty_Char)
new_lt21(x0, x1, ty_Int)
new_ltEs16(x0, x1, x2)
new_ltEs20(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, ty_Ordering)
new_compare32(x0, x1, ty_Char)
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Integer)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt21(x0, x1, ty_Integer)
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Integer)
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_compare28(x0, x1, True)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs18(x0, x1, x2)
new_lt21(x0, x1, ty_Char)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_lt7(x0, x1, ty_@0)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Right(x0), Right(x1), x2, ty_Integer)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt17(x0, x1)
new_esEs24(x0, x1, ty_Double)
new_esEs9(x0, x1, ty_Double)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs5(Right(x0), Right(x1), x2, ty_Int)
new_ltEs20(x0, x1, ty_Bool)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs5(Right(x0), Right(x1), x2, ty_Float)
new_ltEs10(Left(x0), Left(x1), ty_Float, x2)
new_esEs28(x0, x1, ty_Integer)
new_ltEs10(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_compare16(x0, x1, False, x2, x3, x4)
new_esEs21(x0, x1, ty_Double)
new_compare32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, ty_Double)
new_esEs20(x0, x1, ty_@0)
new_esEs23(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_@0)
new_compare111(x0, x1, True)
new_ltEs19(x0, x1, ty_Char)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, ty_Integer)
new_esEs5(Left(x0), Left(x1), ty_Double, x2)
new_compare14(x0, x1, False, x2)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_lt19(x0, x1, ty_@0)
new_esEs24(x0, x1, ty_Float)
new_primCmpNat1(Zero, x0)
new_compare13(x0, x1, x2, x3, True, x4, x5, x6)
new_primCmpNat2(Zero, Zero)
new_lt19(x0, x1, ty_Bool)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_primPlusNat0(Zero, Zero)
new_esEs22(x0, x1, ty_Ordering)
new_esEs5(Right(x0), Right(x1), x2, ty_Double)
new_esEs21(x0, x1, ty_Ordering)
new_esEs16(:(x0, x1), [], x2)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_compare5(:(x0, x1), :(x2, x3), x4)
new_compare17(Integer(x0), Integer(x1))
new_compare111(x0, x1, False)
new_compare32(x0, x1, ty_Bool)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs10(Right(x0), Right(x1), x2, ty_Int)
new_compare32(x0, x1, ty_Ordering)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs16([], [], x0)
new_esEs22(x0, x1, ty_Int)
new_compare8(x0, x1)
new_esEs24(x0, x1, app(ty_[], x2))
new_ltEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs25(x0, x1, ty_Integer)
new_esEs9(x0, x1, ty_Ordering)
new_lt21(x0, x1, ty_Double)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_compare32(x0, x1, ty_@0)
new_compare5([], :(x0, x1), x2)
new_lt21(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, ty_@0)
new_primPlusNat1(Zero, x0)
new_esEs25(x0, x1, ty_@0)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_lt7(x0, x1, app(ty_[], x2))
new_lt7(x0, x1, ty_Bool)
new_ltEs10(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_esEs27(x0, x1, ty_Ordering)
new_esEs4(Just(x0), Nothing, x1)
new_esEs12(True, True)
new_ltEs5(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, ty_@0)
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare5([], [], x0)
new_compare24(@2(x0, x1), @2(x2, x3), False, x4, x5)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_esEs14(Integer(x0), Integer(x1))
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_lt7(x0, x1, app(ty_Ratio, x2))
new_esEs20(x0, x1, ty_Int)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_compare24(x0, x1, True, x2, x3)
new_ltEs11(False, False)
new_esEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_lt9(x0, x1, x2)
new_lt19(x0, x1, ty_Integer)
new_primCompAux00(x0, GT)
new_esEs24(x0, x1, ty_Char)
new_ltEs8(Just(x0), Nothing, x1)
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_primCompAux0(x0, x1, x2, x3)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_compare23(x0, x1, True, x2, x3)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Zero, Succ(x0))
new_esEs8(EQ, EQ)
new_esEs9(x0, x1, ty_Bool)
new_primEqInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_lt21(x0, x1, ty_Float)
new_esEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs10(Left(x0), Left(x1), ty_Double, x2)
new_lt7(x0, x1, ty_Integer)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_lt19(x0, x1, app(ty_Ratio, x2))
new_compare5(:(x0, x1), [], x2)
new_ltEs19(x0, x1, ty_Int)
new_ltEs11(False, True)
new_ltEs11(True, False)
new_esEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs10(Right(x0), Right(x1), x2, ty_@0)
new_esEs24(x0, x1, ty_Bool)
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_gt(x0, x1, x2, x3)
new_lt7(x0, x1, app(ty_Maybe, x2))
new_esEs19(x0, x1, ty_Double)
new_compare12(x0, x1, x2, x3, False, x4, x5)
new_lt16(x0, x1, x2)
new_compare210(x0, x1, False)
new_sr0(Integer(x0), Integer(x1))
new_ltEs10(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs5(Left(x0), Left(x1), ty_Float, x2)
new_lt7(x0, x1, ty_Double)
new_ltEs10(Left(x0), Left(x1), ty_Char, x2)
new_esEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs5(x0, x1, ty_Ordering)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Ordering)
new_esEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_lt8(x0, x1)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(GT, GT)
new_esEs5(Right(x0), Right(x1), x2, ty_Integer)
new_compare28(x0, x1, False)
new_pePe(True, x0)
new_primCmpNat2(Succ(x0), Succ(x1))
new_ltEs19(x0, x1, ty_Ordering)
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_compare11(x0, x1, False)
new_esEs22(x0, x1, ty_Bool)
new_esEs23(x0, x1, ty_Integer)
new_lt19(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Float)
new_pePe(False, x0)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs24(x0, x1, ty_Integer)
new_esEs19(x0, x1, app(ty_[], x2))
new_esEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_lt7(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Float)
new_esEs19(x0, x1, ty_Bool)
new_primCmpNat2(Zero, Succ(x0))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, ty_Bool)
new_ltEs6(LT, LT)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_compare32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, ty_Bool)
new_esEs21(x0, x1, app(ty_[], x2))
new_compare11(x0, x1, True)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs9(x0, x1, ty_Float)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Double)
new_esEs25(x0, x1, ty_Int)
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare210(x0, x1, True)
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, ty_Char)
new_ltEs7(x0, x1)
new_lt7(x0, x1, ty_Int)
new_asAs(False, x0)
new_ltEs10(Right(x0), Left(x1), x2, x3)
new_ltEs10(Left(x0), Right(x1), x2, x3)
new_esEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs19(x0, x1, ty_Ordering)
new_esEs23(x0, x1, ty_Ordering)
new_ltEs10(Right(x0), Right(x1), x2, ty_Double)
new_ltEs20(x0, x1, ty_Double)
new_compare110(x0, x1, True, x2, x3)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Int)
new_compare9(Float(x0, x1), Float(x2, x3))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, ty_Int)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs12(False, True)
new_esEs12(True, False)
new_compare26(x0, x1, False, x2)
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_@0)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs10(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_compare18(x0, x1, x2)
new_lt19(x0, x1, ty_Double)
new_esEs26(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Double)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs5(x0, x1, ty_Double)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_ltEs13(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs10(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs24(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_@0)
new_ltEs5(x0, x1, ty_Bool)
new_not(True)
new_esEs4(Nothing, Nothing, x0)
new_esEs27(x0, x1, ty_Char)
new_esEs5(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs20(x0, x1, ty_@0)
new_esEs29(x0, x1, ty_Integer)
new_lt11(x0, x1)
new_esEs7(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs21(x0, x1, ty_@0)
new_primCmpNat0(x0, Succ(x1))
new_esEs5(Left(x0), Left(x1), ty_Integer, x2)
new_lt21(x0, x1, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_compare19(:%(x0, x1), :%(x2, x3), ty_Integer)
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_not(False)
new_ltEs8(Nothing, Nothing, x0)
new_ltEs5(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_Integer)
new_primCmpNat2(Succ(x0), Zero)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_compare16(x0, x1, True, x2, x3, x4)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs15(x0, x1)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_compare25(x0, x1, False, x2, x3, x4)
new_ltEs10(Right(x0), Right(x1), x2, ty_Bool)
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_compare32(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Bool)
new_compare19(:%(x0, x1), :%(x2, x3), ty_Int)
new_asAs(True, x0)
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs14(x0, x1)
new_ltEs10(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs10(Left(x0), Left(x1), ty_@0, x2)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs21(x0, x1, ty_Float)
new_ltEs10(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_esEs15(Char(x0), Char(x1))
new_esEs19(x0, x1, ty_Integer)
new_esEs19(x0, x1, ty_@0)
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs5(Right(x0), Right(x1), x2, ty_@0)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_Float)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs18(:%(x0, x1), :%(x2, x3), x4)
new_compare7(x0, x1, x2, x3, x4)
new_compare15(x0, x1, x2, x3)
new_compare27(x0, x1)
new_esEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_lt18(x0, x1, x2)
new_ltEs5(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs26(x0, x1, ty_Char)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, ty_Float)
new_ltEs19(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_compare32(x0, x1, app(ty_Maybe, x2))
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Double)
new_lt13(x0, x1)
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs17(x0, x1)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs4(Nothing, Just(x0), x1)
new_lt14(x0, x1, x2, x3)
new_lt20(x0, x1, ty_Char)
new_esEs25(x0, x1, ty_Float)
new_lt15(x0, x1)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primEqNat0(Zero, Succ(x0))
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs23(x0, x1, ty_Double)
new_esEs13(Float(x0, x1), Float(x2, x3))
new_compare31(Char(x0), Char(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_lt6(x0, x1)
new_esEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs5(Right(x0), Left(x1), x2, x3)
new_esEs5(Left(x0), Right(x1), x2, x3)
new_esEs9(x0, x1, ty_@0)
new_ltEs19(x0, x1, ty_Integer)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt19(x0, x1, ty_Ordering)
new_compare23(x0, x1, False, x2, x3)
new_esEs20(x0, x1, ty_Char)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_primPlusNat0(Succ(x0), Zero)
new_esEs21(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Bool)
new_lt12(x0, x1)
new_ltEs11(True, True)
new_esEs26(x0, x1, ty_@0)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(x0, x1)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_compare25(x0, x1, True, x2, x3, x4)
new_lt7(x0, x1, ty_Ordering)
From the DPs we obtained the following set of size-change graphs:
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
↳ HASKELL
↳ IFR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ NumRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
new_mkVBalBranch3(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, ywz630, ywz631, ywz632, ywz633, ywz634, h, ba, bb) → new_mkVBalBranch3MkVBalBranch2(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt8(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), new_mkVBalBranch3Size_r(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), h, ba, bb)
new_mkVBalBranch3MkVBalBranch2(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba, bb) → new_mkVBalBranch3MkVBalBranch1(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt8(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), new_mkVBalBranch3Size_l(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), h, ba, bb)
new_mkVBalBranch3MkVBalBranch2(ywz60, ywz61, ywz62, Branch(ywz630, ywz631, ywz632, ywz633, ywz634), ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba, bb) → new_mkVBalBranch3MkVBalBranch2(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt8(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), new_mkVBalBranch3Size_r(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), h, ba, bb)
new_mkVBalBranch3MkVBalBranch1(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, Branch(ywz7440, ywz7441, ywz7442, ywz7443, ywz7444), ywz50, ywz9, True, h, ba, bb) → new_mkVBalBranch3(ywz50, ywz9, ywz7440, ywz7441, ywz7442, ywz7443, ywz7444, ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_primCmpNat0(ywz50000, Succ(ywz40000)) → new_primCmpNat2(ywz50000, ywz40000)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs8(EQ, EQ) → True
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primPlusNat1(Zero, ywz400100) → Succ(ywz400100)
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat1(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_primPlusNat0(Succ(ywz21700), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat0(ywz21700, ywz4001000)))
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_primCmpNat2(Zero, Zero) → EQ
new_primCmpNat2(Zero, Succ(ywz400000)) → LT
new_primPlusNat0(Zero, Zero) → Zero
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpNat1(Succ(ywz40000), ywz50000) → new_primCmpNat2(ywz40000, ywz50000)
new_primCmpNat2(Succ(ywz500000), Zero) → GT
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat0(ywz50000, ywz4000)
new_primCmpNat2(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat2(ywz500000, ywz400000)
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_esEs8(GT, EQ) → False
new_esEs8(EQ, GT) → False
new_primCmpNat0(ywz50000, Zero) → GT
new_primMulNat0(Zero, Zero) → Zero
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat0(ywz40000, Zero)
new_esEs8(GT, GT) → True
new_primPlusNat1(Succ(ywz2170), ywz400100) → Succ(Succ(new_primPlusNat0(ywz2170, ywz400100)))
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat1(Zero, ywz40000)
new_mkVBalBranch3Size_r(ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb) → new_sizeFM(ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb)
new_esEs8(GT, LT) → False
new_esEs8(LT, GT) → False
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_lt8(ywz500, ywz400) → new_esEs8(new_compare10(ywz500, ywz400), LT)
new_sIZE_RATIO → Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_sizeFM(ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb) → ywz62
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat1(ywz4000, ywz50000)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_compare10(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_esEs8(EQ, LT) → False
new_esEs8(LT, EQ) → False
new_esEs8(LT, LT) → True
new_primCmpNat1(Zero, ywz50000) → LT
new_primPlusNat0(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_primPlusNat0(Succ(ywz21700), Zero) → Succ(ywz21700)
new_mkVBalBranch3Size_l(ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb) → new_sizeFM(ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_sr(x0, x1)
new_esEs8(LT, EQ)
new_esEs8(EQ, LT)
new_primMulNat0(Zero, Zero)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
new_primCmpNat1(Succ(x0), x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_lt8(x0, x1)
new_esEs8(LT, LT)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_compare10(x0, x1)
new_primCmpNat0(x0, Zero)
new_primCmpNat1(Zero, x0)
new_primCmpNat2(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6, x7)
new_primPlusNat1(Succ(x0), x1)
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_primCmpNat2(Zero, Zero)
new_primPlusNat0(Zero, Zero)
new_sIZE_RATIO
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_esEs8(EQ, EQ)
new_primMulNat0(Zero, Succ(x0))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpNat0(x0, Succ(x1))
new_primPlusNat0(Succ(x0), Succ(x1))
new_primCmpNat2(Zero, Succ(x0))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpNat2(Succ(x0), Zero)
new_primMulNat0(Succ(x0), Zero)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primPlusNat0(Zero, Succ(x0))
new_primMulInt(Neg(x0), Neg(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
new_primPlusNat0(Succ(x0), Zero)
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat1(Zero, x0)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs8(GT, GT)
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
↳ HASKELL
↳ IFR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ NumRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
new_mkVBalBranch3(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, ywz630, ywz631, ywz632, ywz633, ywz634, h, ba, bb) → new_mkVBalBranch3MkVBalBranch2(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt8(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), new_mkVBalBranch3Size_r(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), h, ba, bb)
new_mkVBalBranch3MkVBalBranch2(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba, bb) → new_mkVBalBranch3MkVBalBranch1(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt8(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), new_mkVBalBranch3Size_l(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), h, ba, bb)
new_mkVBalBranch3MkVBalBranch2(ywz60, ywz61, ywz62, Branch(ywz630, ywz631, ywz632, ywz633, ywz634), ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba, bb) → new_mkVBalBranch3MkVBalBranch2(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt8(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), new_mkVBalBranch3Size_r(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), h, ba, bb)
new_mkVBalBranch3MkVBalBranch1(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, Branch(ywz7440, ywz7441, ywz7442, ywz7443, ywz7444), ywz50, ywz9, True, h, ba, bb) → new_mkVBalBranch3(ywz50, ywz9, ywz7440, ywz7441, ywz7442, ywz7443, ywz7444, ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb)
new_sIZE_RATIO → Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_mkVBalBranch3Size_l(ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb) → new_sizeFM(ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb)
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_mkVBalBranch3Size_r(ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb) → new_sizeFM(ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb)
new_lt8(ywz500, ywz400) → new_esEs8(new_compare10(ywz500, ywz400), LT)
new_compare10(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_esEs8(GT, LT) → False
new_esEs8(EQ, LT) → False
new_esEs8(LT, LT) → True
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat0(ywz50000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat0(ywz40000, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat1(Zero, ywz40000)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat1(ywz4000, ywz50000)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat1(Succ(ywz40000), ywz50000) → new_primCmpNat2(ywz40000, ywz50000)
new_primCmpNat1(Zero, ywz50000) → LT
new_primCmpNat2(Zero, Zero) → EQ
new_primCmpNat2(Zero, Succ(ywz400000)) → LT
new_primCmpNat2(Succ(ywz500000), Zero) → GT
new_primCmpNat2(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat2(ywz500000, ywz400000)
new_primCmpNat0(ywz50000, Zero) → GT
new_primCmpNat0(ywz50000, Succ(ywz40000)) → new_primCmpNat2(ywz50000, ywz40000)
new_sizeFM(ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb) → ywz62
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat1(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_primMulNat0(Zero, Zero) → Zero
new_primPlusNat1(Zero, ywz400100) → Succ(ywz400100)
new_primPlusNat1(Succ(ywz2170), ywz400100) → Succ(Succ(new_primPlusNat0(ywz2170, ywz400100)))
new_primPlusNat0(Succ(ywz21700), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat0(ywz21700, ywz4001000)))
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_primPlusNat0(Succ(ywz21700), Zero) → Succ(ywz21700)
new_sr(x0, x1)
new_esEs8(LT, EQ)
new_esEs8(EQ, LT)
new_primMulNat0(Zero, Zero)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
new_primCmpNat1(Succ(x0), x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_lt8(x0, x1)
new_esEs8(LT, LT)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_compare10(x0, x1)
new_primCmpNat0(x0, Zero)
new_primCmpNat1(Zero, x0)
new_primCmpNat2(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6, x7)
new_primPlusNat1(Succ(x0), x1)
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_primCmpNat2(Zero, Zero)
new_primPlusNat0(Zero, Zero)
new_sIZE_RATIO
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_esEs8(EQ, EQ)
new_primMulNat0(Zero, Succ(x0))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpNat0(x0, Succ(x1))
new_primPlusNat0(Succ(x0), Succ(x1))
new_primCmpNat2(Zero, Succ(x0))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpNat2(Succ(x0), Zero)
new_primMulNat0(Succ(x0), Zero)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primPlusNat0(Zero, Succ(x0))
new_primMulInt(Neg(x0), Neg(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
new_primPlusNat0(Succ(x0), Zero)
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat1(Zero, x0)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs8(GT, GT)
From the DPs we obtained the following set of size-change graphs:
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
↳ HASKELL
↳ IFR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ NumRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
new_splitLT2(ywz39, ywz40, ywz41, ywz42, ywz43, ywz44, ywz45, ywz46, False, h, ba, bb) → new_splitLT1(ywz39, ywz40, ywz41, ywz42, ywz43, ywz44, ywz45, ywz46, new_esEs8(new_compare15(@2(ywz45, ywz46), @2(ywz39, ywz40), h, ba), GT), h, ba, bb)
new_splitLT1(ywz39, ywz40, ywz41, ywz42, ywz43, ywz44, ywz45, ywz46, True, h, ba, bb) → new_splitLT(ywz44, ywz45, ywz46, h, ba, bb)
new_splitLT3(@2(ywz400, ywz401), ywz41, ywz42, ywz43, ywz44, @2(ywz500, ywz501), bc, bd, be) → new_splitLT2(ywz400, ywz401, ywz41, ywz42, ywz43, ywz44, ywz500, ywz501, new_esEs8(new_compare24(@2(ywz500, ywz501), @2(ywz400, ywz401), new_asAs(new_esEs30(ywz500, ywz400, bc), new_esEs31(ywz501, ywz401, bd)), bc, bd), LT), bc, bd, be)
new_splitLT(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz45, ywz46, h, ba, bb) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, @2(ywz45, ywz46), h, ba, bb)
new_splitLT2(ywz39, ywz40, ywz41, ywz42, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz44, ywz45, ywz46, True, h, ba, bb) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, @2(ywz45, ywz46), h, ba, bb)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cce)) → new_esEs4(ywz5000, ywz4000, cce)
new_esEs22(ywz5010, ywz4010, ty_Double) → new_esEs17(ywz5010, ywz4010)
new_primCmpNat0(ywz50000, Succ(ywz40000)) → new_primCmpNat2(ywz50000, ywz40000)
new_esEs24(ywz5000, ywz4000, app(app(ty_Either, bgd), bge)) → new_esEs5(ywz5000, ywz4000, bgd, bge)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_lt10(ywz500, ywz400) → new_esEs8(new_compare29(ywz500, ywz400), LT)
new_esEs27(ywz5000, ywz4000, app(ty_[], cbf)) → new_esEs16(ywz5000, ywz4000, cbf)
new_esEs31(ywz501, ywz401, ty_@0) → new_esEs11(ywz501, ywz401)
new_lt7(ywz5010, ywz4010, ty_Double) → new_lt17(ywz5010, ywz4010)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_@0, gb) → new_ltEs9(ywz5010, ywz4010)
new_esEs25(ywz5001, ywz4001, app(ty_[], bhb)) → new_esEs16(ywz5001, ywz4001, bhb)
new_esEs24(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs5(ywz5011, ywz4011, app(app(ty_Either, ea), eb)) → new_ltEs10(ywz5011, ywz4011, ea, eb)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_esEs31(ywz501, ywz401, ty_Ordering) → new_esEs8(ywz501, ywz401)
new_ltEs19(ywz501, ywz401, ty_Char) → new_ltEs15(ywz501, ywz401)
new_ltEs10(Left(ywz5010), Right(ywz4010), ga, gb) → True
new_compare110(ywz500, ywz400, True, bf, bg) → LT
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_esEs23(ywz5011, ywz4011, app(app(ty_Either, bda), bdb)) → new_esEs5(ywz5011, ywz4011, bda, bdb)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, cbb)) → new_esEs18(ywz5000, ywz4000, cbb)
new_esEs19(ywz500, ywz400, app(ty_[], gg)) → new_esEs16(ywz500, ywz400, gg)
new_lt7(ywz5010, ywz4010, ty_Bool) → new_lt11(ywz5010, ywz4010)
new_ltEs8(Just(ywz5010), Just(ywz4010), app(app(app(ty_@3, cea), ceb), cec)) → new_ltEs13(ywz5010, ywz4010, cea, ceb, cec)
new_esEs4(Just(ywz5000), Nothing, gd) → False
new_esEs4(Nothing, Just(ywz4000), gd) → False
new_esEs24(ywz5000, ywz4000, app(ty_Maybe, bfe)) → new_esEs4(ywz5000, ywz4000, bfe)
new_compare16(ywz500, ywz400, False, bh, ca, cb) → GT
new_esEs9(ywz5010, ywz4010, ty_Char) → new_esEs15(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs15(ywz501, ywz401) → new_not(new_esEs8(new_compare31(ywz501, ywz401), GT))
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs13(ywz5000, ywz4000)
new_esEs26(ywz5002, ywz4002, ty_Float) → new_esEs13(ywz5002, ywz4002)
new_primMulNat0(Zero, Zero) → Zero
new_esEs19(ywz500, ywz400, app(ty_Ratio, gc)) → new_esEs18(ywz500, ywz400, gc)
new_esEs26(ywz5002, ywz4002, app(ty_[], cad)) → new_esEs16(ywz5002, ywz4002, cad)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Double) → new_ltEs17(ywz5010, ywz4010)
new_primCompAux0(ywz5000, ywz4000, ywz251, gg) → new_primCompAux00(ywz251, new_compare32(ywz5000, ywz4000, gg))
new_ltEs20(ywz5012, ywz4012, ty_Float) → new_ltEs12(ywz5012, ywz4012)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cda), cdb), cdc)) → new_esEs6(ywz5000, ywz4000, cda, cdb, cdc)
new_esEs12(True, True) → True
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, hc)) → new_esEs4(ywz5000, ywz4000, hc)
new_lt21(ywz5011, ywz4011, ty_Ordering) → new_lt6(ywz5011, ywz4011)
new_lt19(ywz500, ywz400, app(ty_Maybe, gd)) → new_lt9(ywz500, ywz400, gd)
new_compare32(ywz5000, ywz4000, app(app(app(ty_@3, cbg), cbh), cca)) → new_compare7(ywz5000, ywz4000, cbg, cbh, cca)
new_ltEs19(ywz501, ywz401, ty_Integer) → new_ltEs14(ywz501, ywz401)
new_ltEs20(ywz5012, ywz4012, app(ty_Maybe, beb)) → new_ltEs8(ywz5012, ywz4012, beb)
new_ltEs5(ywz5011, ywz4011, ty_Char) → new_ltEs15(ywz5011, ywz4011)
new_esEs23(ywz5011, ywz4011, ty_Bool) → new_esEs12(ywz5011, ywz4011)
new_esEs19(ywz500, ywz400, ty_Int) → new_esEs10(ywz500, ywz400)
new_esEs25(ywz5001, ywz4001, app(ty_Ratio, bgf)) → new_esEs18(ywz5001, ywz4001, bgf)
new_lt19(ywz500, ywz400, ty_Ordering) → new_lt6(ywz500, ywz400)
new_esEs30(ywz500, ywz400, ty_Double) → new_esEs17(ywz500, ywz400)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_@0) → new_ltEs9(ywz5010, ywz4010)
new_esEs26(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_esEs30(ywz500, ywz400, ty_Int) → new_esEs10(ywz500, ywz400)
new_esEs23(ywz5011, ywz4011, app(ty_Maybe, bch)) → new_esEs4(ywz5011, ywz4011, bch)
new_lt21(ywz5011, ywz4011, app(ty_[], bdh)) → new_lt16(ywz5011, ywz4011, bdh)
new_esEs23(ywz5011, ywz4011, ty_Char) → new_esEs15(ywz5011, ywz4011)
new_lt21(ywz5011, ywz4011, ty_Bool) → new_lt11(ywz5011, ywz4011)
new_compare26(ywz500, ywz400, False, gd) → new_compare14(ywz500, ywz400, new_ltEs8(ywz500, ywz400, gd), gd)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Bool, bg) → new_esEs12(ywz5000, ywz4000)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Float, gb) → new_ltEs12(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_lt18(ywz500, ywz400, gc) → new_esEs8(new_compare19(ywz500, ywz400, gc), LT)
new_esEs9(ywz5010, ywz4010, ty_Int) → new_esEs10(ywz5010, ywz4010)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Int) → new_ltEs7(ywz5010, ywz4010)
new_lt20(ywz5010, ywz4010, ty_Float) → new_lt12(ywz5010, ywz4010)
new_lt11(ywz500, ywz400) → new_esEs8(new_compare27(ywz500, ywz400), LT)
new_esEs26(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_esEs26(ywz5002, ywz4002, app(ty_Maybe, caa)) → new_esEs4(ywz5002, ywz4002, caa)
new_esEs22(ywz5010, ywz4010, app(ty_Ratio, bcg)) → new_esEs18(ywz5010, ywz4010, bcg)
new_esEs19(ywz500, ywz400, app(app(ty_Either, bf), bg)) → new_esEs5(ywz500, ywz400, bf, bg)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(app(app(ty_@3, dbc), dbd), dbe)) → new_esEs6(ywz5000, ywz4000, dbc, dbd, dbe)
new_compare32(ywz5000, ywz4000, app(app(ty_@2, cbd), cbe)) → new_compare15(ywz5000, ywz4000, cbd, cbe)
new_ltEs5(ywz5011, ywz4011, ty_Int) → new_ltEs7(ywz5011, ywz4011)
new_ltEs10(Right(ywz5010), Right(ywz4010), ga, app(app(ty_@2, cgh), cha)) → new_ltEs4(ywz5010, ywz4010, cgh, cha)
new_compare32(ywz5000, ywz4000, ty_Float) → new_compare9(ywz5000, ywz4000)
new_esEs25(ywz5001, ywz4001, ty_Float) → new_esEs13(ywz5001, ywz4001)
new_esEs9(ywz5010, ywz4010, ty_Integer) → new_esEs14(ywz5010, ywz4010)
new_pePe(False, ywz250) → ywz250
new_esEs25(ywz5001, ywz4001, app(app(ty_@2, bgh), bha)) → new_esEs7(ywz5001, ywz4001, bgh, bha)
new_esEs31(ywz501, ywz401, app(ty_[], fd)) → new_esEs16(ywz501, ywz401, fd)
new_lt20(ywz5010, ywz4010, ty_Bool) → new_lt11(ywz5010, ywz4010)
new_compare29(@0, @0) → EQ
new_ltEs19(ywz501, ywz401, app(app(ty_@2, cc), cd)) → new_ltEs4(ywz501, ywz401, cc, cd)
new_esEs7(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), ge, gf) → new_asAs(new_esEs20(ywz5000, ywz4000, ge), new_esEs21(ywz5001, ywz4001, gf))
new_ltEs10(Right(ywz5010), Right(ywz4010), ga, ty_Float) → new_ltEs12(ywz5010, ywz4010)
new_lt19(ywz500, ywz400, app(ty_[], gg)) → new_lt16(ywz500, ywz400, gg)
new_lt21(ywz5011, ywz4011, app(ty_Ratio, bea)) → new_lt18(ywz5011, ywz4011, bea)
new_lt6(ywz500, ywz400) → new_esEs8(new_compare8(ywz500, ywz400), LT)
new_lt21(ywz5011, ywz4011, app(app(app(ty_@3, bdc), bdd), bde)) → new_lt5(ywz5011, ywz4011, bdc, bdd, bde)
new_compare12(ywz126, ywz127, ywz128, ywz129, False, gh, ha) → GT
new_ltEs5(ywz5011, ywz4011, app(app(ty_@2, ef), eg)) → new_ltEs4(ywz5011, ywz4011, ef, eg)
new_esEs24(ywz5000, ywz4000, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_esEs26(ywz5002, ywz4002, ty_Bool) → new_esEs12(ywz5002, ywz4002)
new_esEs17(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs10(Left(ywz5010), Left(ywz4010), app(app(app(ty_@3, cfc), cfd), cfe), gb) → new_ltEs13(ywz5010, ywz4010, cfc, cfd, cfe)
new_compare32(ywz5000, ywz4000, ty_Bool) → new_compare27(ywz5000, ywz4000)
new_ltEs6(GT, EQ) → False
new_lt20(ywz5010, ywz4010, app(app(ty_@2, bcd), bce)) → new_lt14(ywz5010, ywz4010, bcd, bce)
new_ltEs10(Left(ywz5010), Left(ywz4010), app(app(ty_Either, cfa), cfb), gb) → new_ltEs10(ywz5010, ywz4010, cfa, cfb)
new_esEs22(ywz5010, ywz4010, ty_Ordering) → new_esEs8(ywz5010, ywz4010)
new_ltEs11(False, True) → True
new_esEs9(ywz5010, ywz4010, ty_Double) → new_esEs17(ywz5010, ywz4010)
new_esEs31(ywz501, ywz401, ty_Integer) → new_esEs14(ywz501, ywz401)
new_compare111(ywz500, ywz400, False) → GT
new_ltEs19(ywz501, ywz401, app(ty_Ratio, fb)) → new_ltEs18(ywz501, ywz401, fb)
new_compare111(ywz500, ywz400, True) → LT
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_lt21(ywz5011, ywz4011, app(app(ty_Either, bda), bdb)) → new_lt4(ywz5011, ywz4011, bda, bdb)
new_lt16(ywz500, ywz400, gg) → new_esEs8(new_compare5(ywz500, ywz400, gg), LT)
new_ltEs19(ywz501, ywz401, ty_Double) → new_ltEs17(ywz501, ywz401)
new_esEs5(Left(ywz5000), Left(ywz4000), app(ty_Maybe, che), bg) → new_esEs4(ywz5000, ywz4000, che)
new_ltEs19(ywz501, ywz401, ty_Int) → new_ltEs7(ywz501, ywz401)
new_compare25(ywz500, ywz400, False, bh, ca, cb) → new_compare16(ywz500, ywz400, new_ltEs13(ywz500, ywz400, bh, ca, cb), bh, ca, cb)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Ordering, bg) → new_esEs8(ywz5000, ywz4000)
new_ltEs20(ywz5012, ywz4012, app(app(ty_@2, beh), bfa)) → new_ltEs4(ywz5012, ywz4012, beh, bfa)
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat1(ywz4000, ywz50000)
new_esEs26(ywz5002, ywz4002, ty_Double) → new_esEs17(ywz5002, ywz4002)
new_ltEs8(Nothing, Just(ywz4010), fc) → True
new_esEs9(ywz5010, ywz4010, ty_Float) → new_esEs13(ywz5010, ywz4010)
new_compare6(ywz500, ywz400, bf, bg) → new_compare23(ywz500, ywz400, new_esEs5(ywz500, ywz400, bf, bg), bf, bg)
new_lt20(ywz5010, ywz4010, ty_Ordering) → new_lt6(ywz5010, ywz4010)
new_esEs25(ywz5001, ywz4001, app(app(ty_Either, bhf), bhg)) → new_esEs5(ywz5001, ywz4001, bhf, bhg)
new_esEs8(LT, LT) → True
new_ltEs10(Left(ywz5010), Left(ywz4010), app(ty_[], cfh), gb) → new_ltEs16(ywz5010, ywz4010, cfh)
new_compare25(ywz500, ywz400, True, bh, ca, cb) → EQ
new_esEs19(ywz500, ywz400, app(ty_Maybe, gd)) → new_esEs4(ywz500, ywz400, gd)
new_lt7(ywz5010, ywz4010, app(ty_Ratio, dg)) → new_lt18(ywz5010, ywz4010, dg)
new_esEs25(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs19(ywz501, ywz401, app(app(ty_Either, ga), gb)) → new_ltEs10(ywz501, ywz401, ga, gb)
new_esEs19(ywz500, ywz400, ty_Bool) → new_esEs12(ywz500, ywz400)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_esEs25(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, hg), hh), baa)) → new_esEs6(ywz5000, ywz4000, hg, hh, baa)
new_ltEs10(Left(ywz5010), Left(ywz4010), app(ty_Maybe, ceh), gb) → new_ltEs8(ywz5010, ywz4010, ceh)
new_pePe(True, ywz250) → True
new_primEqNat0(Zero, Zero) → True
new_ltEs20(ywz5012, ywz4012, app(ty_Ratio, bfc)) → new_ltEs18(ywz5012, ywz4012, bfc)
new_esEs23(ywz5011, ywz4011, ty_@0) → new_esEs11(ywz5011, ywz4011)
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat1(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_esEs22(ywz5010, ywz4010, ty_@0) → new_esEs11(ywz5010, ywz4010)
new_ltEs20(ywz5012, ywz4012, ty_Integer) → new_ltEs14(ywz5012, ywz4012)
new_lt7(ywz5010, ywz4010, app(ty_[], df)) → new_lt16(ywz5010, ywz4010, df)
new_ltEs5(ywz5011, ywz4011, app(ty_Maybe, dh)) → new_ltEs8(ywz5011, ywz4011, dh)
new_esEs22(ywz5010, ywz4010, app(app(ty_@2, bcd), bce)) → new_esEs7(ywz5010, ywz4010, bcd, bce)
new_ltEs16(ywz501, ywz401, fd) → new_not(new_esEs8(new_compare5(ywz501, ywz401, fd), GT))
new_esEs19(ywz500, ywz400, ty_Float) → new_esEs13(ywz500, ywz400)
new_ltEs5(ywz5011, ywz4011, app(ty_Ratio, fa)) → new_ltEs18(ywz5011, ywz4011, fa)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_compare110(ywz500, ywz400, False, bf, bg) → GT
new_ltEs4(@2(ywz5010, ywz5011), @2(ywz4010, ywz4011), cc, cd) → new_pePe(new_lt7(ywz5010, ywz4010, cc), new_asAs(new_esEs9(ywz5010, ywz4010, cc), new_ltEs5(ywz5011, ywz4011, cd)))
new_ltEs19(ywz501, ywz401, ty_Ordering) → new_ltEs6(ywz501, ywz401)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs9(ywz5010, ywz4010, ty_@0) → new_esEs11(ywz5010, ywz4010)
new_esEs18(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), gc) → new_asAs(new_esEs28(ywz5000, ywz4000, gc), new_esEs29(ywz5001, ywz4001, gc))
new_esEs9(ywz5010, ywz4010, app(ty_[], df)) → new_esEs16(ywz5010, ywz4010, df)
new_lt19(ywz500, ywz400, ty_Int) → new_lt8(ywz500, ywz400)
new_lt7(ywz5010, ywz4010, ty_Int) → new_lt8(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, app(app(ty_@2, bff), bfg)) → new_esEs7(ywz5000, ywz4000, bff, bfg)
new_ltEs10(Right(ywz5010), Right(ywz4010), ga, app(ty_Maybe, cgb)) → new_ltEs8(ywz5010, ywz4010, cgb)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat0(ywz40000, Zero)
new_esEs26(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs6(EQ, GT) → True
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(ty_Ratio, daf)) → new_esEs18(ywz5000, ywz4000, daf)
new_esEs8(GT, GT) → True
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat1(Zero, ywz40000)
new_compare32(ywz5000, ywz4000, app(ty_[], cbf)) → new_compare5(ywz5000, ywz4000, cbf)
new_lt7(ywz5010, ywz4010, app(app(app(ty_@3, da), db), dc)) → new_lt5(ywz5010, ywz4010, da, db, dc)
new_lt20(ywz5010, ywz4010, ty_Double) → new_lt17(ywz5010, ywz4010)
new_esEs26(ywz5002, ywz4002, app(app(app(ty_@3, cae), caf), cag)) → new_esEs6(ywz5002, ywz4002, cae, caf, cag)
new_esEs12(False, False) → True
new_esEs8(LT, GT) → False
new_esEs8(GT, LT) → False
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Bool, gb) → new_ltEs11(ywz5010, ywz4010)
new_esEs13(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, ccd)) → new_esEs18(ywz5000, ywz4000, ccd)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare210(ywz500, ywz400, False) → new_compare111(ywz500, ywz400, new_ltEs6(ywz500, ywz400))
new_ltEs8(Just(ywz5010), Just(ywz4010), app(ty_Ratio, ceg)) → new_ltEs18(ywz5010, ywz4010, ceg)
new_ltEs7(ywz501, ywz401) → new_not(new_esEs8(new_compare10(ywz501, ywz401), GT))
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5010, ywz4010, app(app(app(ty_@3, bca), bcb), bcc)) → new_esEs6(ywz5010, ywz4010, bca, bcb, bcc)
new_esEs23(ywz5011, ywz4011, ty_Ordering) → new_esEs8(ywz5011, ywz4011)
new_esEs5(Left(ywz5000), Left(ywz4000), app(ty_[], chh), bg) → new_esEs16(ywz5000, ywz4000, chh)
new_esEs31(ywz501, ywz401, ty_Int) → new_esEs10(ywz501, ywz401)
new_esEs30(ywz500, ywz400, app(ty_Maybe, gd)) → new_esEs4(ywz500, ywz400, gd)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Ordering, gb) → new_ltEs6(ywz5010, ywz4010)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_primCmpNat1(Zero, ywz50000) → LT
new_lt20(ywz5010, ywz4010, app(app(ty_Either, bbg), bbh)) → new_lt4(ywz5010, ywz4010, bbg, bbh)
new_compare23(ywz500, ywz400, False, bf, bg) → new_compare110(ywz500, ywz400, new_ltEs10(ywz500, ywz400, bf, bg), bf, bg)
new_ltEs5(ywz5011, ywz4011, app(ty_[], eh)) → new_ltEs16(ywz5011, ywz4011, eh)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs31(ywz501, ywz401, app(app(app(ty_@3, ff), fg), fh)) → new_esEs6(ywz501, ywz401, ff, fg, fh)
new_ltEs20(ywz5012, ywz4012, ty_Bool) → new_ltEs11(ywz5012, ywz4012)
new_ltEs10(Right(ywz5010), Right(ywz4010), ga, ty_Int) → new_ltEs7(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, app(app(app(ty_@3, bga), bgb), bgc)) → new_esEs6(ywz5000, ywz4000, bga, bgb, bgc)
new_ltEs6(EQ, EQ) → True
new_compare12(ywz126, ywz127, ywz128, ywz129, True, gh, ha) → LT
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, baf), bag)) → new_esEs7(ywz5001, ywz4001, baf, bag)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_compare13(ywz126, ywz127, ywz128, ywz129, True, ywz131, gh, ha) → new_compare12(ywz126, ywz127, ywz128, ywz129, True, gh, ha)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, ccb), ccc)) → new_esEs5(ywz5000, ywz4000, ccb, ccc)
new_lt14(ywz50, ywz40, bc, bd) → new_esEs8(new_compare15(ywz50, ywz40, bc, bd), LT)
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_esEs8(EQ, EQ) → True
new_ltEs8(Just(ywz5010), Just(ywz4010), app(app(ty_Either, cdg), cdh)) → new_ltEs10(ywz5010, ywz4010, cdg, cdh)
new_primPlusNat1(Zero, ywz400100) → Succ(ywz400100)
new_lt7(ywz5010, ywz4010, ty_Float) → new_lt12(ywz5010, ywz4010)
new_ltEs5(ywz5011, ywz4011, app(app(app(ty_@3, ec), ed), ee)) → new_ltEs13(ywz5011, ywz4011, ec, ed, ee)
new_esEs31(ywz501, ywz401, app(ty_Ratio, fb)) → new_esEs18(ywz501, ywz401, fb)
new_lt20(ywz5010, ywz4010, ty_@0) → new_lt10(ywz5010, ywz4010)
new_ltEs6(GT, GT) → True
new_lt7(ywz5010, ywz4010, ty_Char) → new_lt15(ywz5010, ywz4010)
new_esEs22(ywz5010, ywz4010, ty_Float) → new_esEs13(ywz5010, ywz4010)
new_compare24(ywz50, ywz40, True, bc, bd) → EQ
new_esEs31(ywz501, ywz401, app(app(ty_Either, ga), gb)) → new_esEs5(ywz501, ywz401, ga, gb)
new_lt13(ywz500, ywz400) → new_esEs8(new_compare17(ywz500, ywz400), LT)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_esEs26(ywz5002, ywz4002, ty_@0) → new_esEs11(ywz5002, ywz4002)
new_esEs30(ywz500, ywz400, ty_Float) → new_esEs13(ywz500, ywz400)
new_lt20(ywz5010, ywz4010, ty_Int) → new_lt8(ywz5010, ywz4010)
new_esEs23(ywz5011, ywz4011, ty_Integer) → new_esEs14(ywz5011, ywz4011)
new_compare32(ywz5000, ywz4000, ty_Integer) → new_compare17(ywz5000, ywz4000)
new_lt20(ywz5010, ywz4010, ty_Integer) → new_lt13(ywz5010, ywz4010)
new_esEs22(ywz5010, ywz4010, app(ty_Maybe, bbf)) → new_esEs4(ywz5010, ywz4010, bbf)
new_compare5(:(ywz5000, ywz5001), [], gg) → GT
new_esEs25(ywz5001, ywz4001, app(ty_Maybe, bgg)) → new_esEs4(ywz5001, ywz4001, bgg)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_esEs9(ywz5010, ywz4010, app(app(ty_@2, dd), de)) → new_esEs7(ywz5010, ywz4010, dd, de)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_ltEs11(True, False) → False
new_esEs5(Left(ywz5000), Left(ywz4000), ty_@0, bg) → new_esEs11(ywz5000, ywz4000)
new_compare14(ywz500, ywz400, False, gd) → GT
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(app(ty_Either, dbf), dbg)) → new_esEs5(ywz5000, ywz4000, dbf, dbg)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs10(Right(ywz5010), Right(ywz4010), ga, app(app(app(ty_@3, cge), cgf), cgg)) → new_ltEs13(ywz5010, ywz4010, cge, cgf, cgg)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Char, bg) → new_esEs15(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, app(ty_Ratio, bfd)) → new_esEs18(ywz5000, ywz4000, bfd)
new_lt21(ywz5011, ywz4011, ty_Int) → new_lt8(ywz5011, ywz4011)
new_esEs19(ywz500, ywz400, app(app(app(ty_@3, bh), ca), cb)) → new_esEs6(ywz500, ywz400, bh, ca, cb)
new_lt21(ywz5011, ywz4011, ty_Integer) → new_lt13(ywz5011, ywz4011)
new_compare5(:(ywz5000, ywz5001), :(ywz4000, ywz4001), gg) → new_primCompAux0(ywz5000, ywz4000, new_compare5(ywz5001, ywz4001, gg), gg)
new_esEs22(ywz5010, ywz4010, ty_Bool) → new_esEs12(ywz5010, ywz4010)
new_esEs30(ywz500, ywz400, app(ty_Ratio, gc)) → new_esEs18(ywz500, ywz400, gc)
new_esEs29(ywz5001, ywz4001, ty_Int) → new_esEs10(ywz5001, ywz4001)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs10(ywz5000, ywz4000)
new_primCompAux00(ywz279, LT) → LT
new_ltEs10(Left(ywz5010), Left(ywz4010), app(ty_Ratio, cga), gb) → new_ltEs18(ywz5010, ywz4010, cga)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Float) → new_ltEs12(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_ltEs8(Just(ywz5010), Nothing, fc) → False
new_ltEs10(Right(ywz5010), Right(ywz4010), ga, app(app(ty_Either, cgc), cgd)) → new_ltEs10(ywz5010, ywz4010, cgc, cgd)
new_esEs22(ywz5010, ywz4010, ty_Char) → new_esEs15(ywz5010, ywz4010)
new_compare27(ywz500, ywz400) → new_compare28(ywz500, ywz400, new_esEs12(ywz500, ywz400))
new_lt21(ywz5011, ywz4011, app(ty_Maybe, bch)) → new_lt9(ywz5011, ywz4011, bch)
new_compare32(ywz5000, ywz4000, app(ty_Ratio, cbb)) → new_compare19(ywz5000, ywz4000, cbb)
new_ltEs5(ywz5011, ywz4011, ty_@0) → new_ltEs9(ywz5011, ywz4011)
new_esEs8(LT, EQ) → False
new_esEs8(EQ, LT) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primPlusNat0(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_primPlusNat0(Succ(ywz21700), Zero) → Succ(ywz21700)
new_esEs22(ywz5010, ywz4010, ty_Integer) → new_esEs14(ywz5010, ywz4010)
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bh, ca, cb) → new_asAs(new_esEs24(ywz5000, ywz4000, bh), new_asAs(new_esEs25(ywz5001, ywz4001, ca), new_esEs26(ywz5002, ywz4002, cb)))
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, cdd), cde)) → new_esEs5(ywz5000, ywz4000, cdd, cde)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bab), bac)) → new_esEs5(ywz5000, ywz4000, bab, bac)
new_esEs23(ywz5011, ywz4011, ty_Float) → new_esEs13(ywz5011, ywz4011)
new_ltEs10(Right(ywz5010), Right(ywz4010), ga, ty_Integer) → new_ltEs14(ywz5010, ywz4010)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Float, bg) → new_esEs13(ywz5000, ywz4000)
new_lt7(ywz5010, ywz4010, app(app(ty_@2, dd), de)) → new_lt14(ywz5010, ywz4010, dd, de)
new_sr0(Integer(ywz40000), Integer(ywz50010)) → Integer(new_primMulInt(ywz40000, ywz50010))
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_esEs5(Left(ywz5000), Left(ywz4000), app(ty_Ratio, chd), bg) → new_esEs18(ywz5000, ywz4000, chd)
new_esEs25(ywz5001, ywz4001, ty_Int) → new_esEs10(ywz5001, ywz4001)
new_lt19(ywz500, ywz400, app(app(app(ty_@3, bh), ca), cb)) → new_lt5(ywz500, ywz400, bh, ca, cb)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Ordering) → new_ltEs6(ywz5010, ywz4010)
new_esEs9(ywz5010, ywz4010, app(app(ty_Either, cf), cg)) → new_esEs5(ywz5010, ywz4010, cf, cg)
new_primCmpNat2(Zero, Succ(ywz400000)) → LT
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_esEs26(ywz5002, ywz4002, ty_Int) → new_esEs10(ywz5002, ywz4002)
new_primCompAux00(ywz279, EQ) → ywz279
new_esEs23(ywz5011, ywz4011, ty_Double) → new_esEs17(ywz5011, ywz4011)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, cbd), cbe)) → new_esEs7(ywz5000, ywz4000, cbd, cbe)
new_lt7(ywz5010, ywz4010, app(ty_Maybe, ce)) → new_lt9(ywz5010, ywz4010, ce)
new_esEs30(ywz500, ywz400, ty_Bool) → new_esEs12(ywz500, ywz400)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Double, bg) → new_esEs17(ywz5000, ywz4000)
new_ltEs5(ywz5011, ywz4011, ty_Double) → new_ltEs17(ywz5011, ywz4011)
new_esEs8(EQ, GT) → False
new_esEs8(GT, EQ) → False
new_ltEs19(ywz501, ywz401, app(app(app(ty_@3, ff), fg), fh)) → new_ltEs13(ywz501, ywz401, ff, fg, fh)
new_lt21(ywz5011, ywz4011, ty_@0) → new_lt10(ywz5011, ywz4011)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_lt15(ywz500, ywz400) → new_esEs8(new_compare31(ywz500, ywz400), LT)
new_compare26(ywz500, ywz400, True, gd) → EQ
new_esEs9(ywz5010, ywz4010, ty_Ordering) → new_esEs8(ywz5010, ywz4010)
new_ltEs10(Left(ywz5010), Left(ywz4010), app(app(ty_@2, cff), cfg), gb) → new_ltEs4(ywz5010, ywz4010, cff, cfg)
new_compare9(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_ltEs13(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), ff, fg, fh) → new_pePe(new_lt20(ywz5010, ywz4010, ff), new_asAs(new_esEs22(ywz5010, ywz4010, ff), new_pePe(new_lt21(ywz5011, ywz4011, fg), new_asAs(new_esEs23(ywz5011, ywz4011, fg), new_ltEs20(ywz5012, ywz4012, fh)))))
new_not(False) → True
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs11(ywz5000, ywz4000)
new_ltEs18(ywz501, ywz401, fb) → new_not(new_esEs8(new_compare19(ywz501, ywz401, fb), GT))
new_esEs31(ywz501, ywz401, ty_Char) → new_esEs15(ywz501, ywz401)
new_esEs19(ywz500, ywz400, app(app(ty_@2, ge), gf)) → new_esEs7(ywz500, ywz400, ge, gf)
new_esEs30(ywz500, ywz400, app(app(ty_@2, ge), gf)) → new_esEs7(ywz500, ywz400, ge, gf)
new_esEs26(ywz5002, ywz4002, app(ty_Ratio, bhh)) → new_esEs18(ywz5002, ywz4002, bhh)
new_ltEs5(ywz5011, ywz4011, ty_Integer) → new_ltEs14(ywz5011, ywz4011)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Char, gb) → new_ltEs15(ywz5010, ywz4010)
new_lt19(ywz500, ywz400, ty_Bool) → new_lt11(ywz500, ywz400)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt12(ywz500, ywz400) → new_esEs8(new_compare9(ywz500, ywz400), LT)
new_esEs19(ywz500, ywz400, ty_Double) → new_esEs17(ywz500, ywz400)
new_ltEs8(Just(ywz5010), Just(ywz4010), app(ty_[], cef)) → new_ltEs16(ywz5010, ywz4010, cef)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Double, gb) → new_ltEs17(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_ltEs11(False, False) → True
new_ltEs5(ywz5011, ywz4011, ty_Float) → new_ltEs12(ywz5011, ywz4011)
new_compare7(ywz500, ywz400, bh, ca, cb) → new_compare25(ywz500, ywz400, new_esEs6(ywz500, ywz400, bh, ca, cb), bh, ca, cb)
new_compare28(ywz500, ywz400, True) → EQ
new_esEs26(ywz5002, ywz4002, app(app(ty_Either, cah), cba)) → new_esEs5(ywz5002, ywz4002, cah, cba)
new_lt19(ywz500, ywz400, app(ty_Ratio, gc)) → new_lt18(ywz500, ywz400, gc)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Char) → new_ltEs15(ywz5010, ywz4010)
new_compare32(ywz5000, ywz4000, app(ty_Maybe, cbc)) → new_compare18(ywz5000, ywz4000, cbc)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_esEs30(ywz500, ywz400, ty_@0) → new_esEs11(ywz500, ywz400)
new_lt21(ywz5011, ywz4011, app(app(ty_@2, bdf), bdg)) → new_lt14(ywz5011, ywz4011, bdf, bdg)
new_esEs22(ywz5010, ywz4010, app(ty_[], bcf)) → new_esEs16(ywz5010, ywz4010, bcf)
new_ltEs19(ywz501, ywz401, app(ty_[], fd)) → new_ltEs16(ywz501, ywz401, fd)
new_compare32(ywz5000, ywz4000, ty_Ordering) → new_compare8(ywz5000, ywz4000)
new_lt7(ywz5010, ywz4010, app(app(ty_Either, cf), cg)) → new_lt4(ywz5010, ywz4010, cf, cg)
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs29(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_lt19(ywz500, ywz400, app(app(ty_@2, ge), gf)) → new_lt14(ywz500, ywz400, ge, gf)
new_ltEs10(Right(ywz5010), Right(ywz4010), ga, ty_Double) → new_ltEs17(ywz5010, ywz4010)
new_esEs9(ywz5010, ywz4010, app(ty_Ratio, dg)) → new_esEs18(ywz5010, ywz4010, dg)
new_esEs22(ywz5010, ywz4010, ty_Int) → new_esEs10(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(ty_[], dbb)) → new_esEs16(ywz5000, ywz4000, dbb)
new_esEs5(Left(ywz5000), Right(ywz4000), bf, bg) → False
new_esEs5(Right(ywz5000), Left(ywz4000), bf, bg) → False
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_ltEs19(ywz501, ywz401, app(ty_Maybe, fc)) → new_ltEs8(ywz501, ywz401, fc)
new_primCmpNat2(Zero, Zero) → EQ
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_primEqNat0(Succ(ywz50000), Zero) → False
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Integer) → new_ltEs14(ywz5010, ywz4010)
new_primPlusNat0(Zero, Zero) → Zero
new_esEs26(ywz5002, ywz4002, app(app(ty_@2, cab), cac)) → new_esEs7(ywz5002, ywz4002, cab, cac)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_ltEs6(LT, LT) → True
new_compare28(ywz500, ywz400, False) → new_compare11(ywz500, ywz400, new_ltEs11(ywz500, ywz400))
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Integer, bg) → new_esEs14(ywz5000, ywz4000)
new_ltEs20(ywz5012, ywz4012, ty_Char) → new_ltEs15(ywz5012, ywz4012)
new_ltEs6(EQ, LT) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs23(ywz5011, ywz4011, app(ty_Ratio, bea)) → new_esEs18(ywz5011, ywz4011, bea)
new_esEs4(Nothing, Nothing, gd) → True
new_ltEs20(ywz5012, ywz4012, ty_Int) → new_ltEs7(ywz5012, ywz4012)
new_lt19(ywz500, ywz400, ty_Double) → new_lt17(ywz500, ywz400)
new_primCmpNat2(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat2(ywz500000, ywz400000)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat0(ywz50000, ywz4000)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, cbg), cbh), cca)) → new_esEs6(ywz5000, ywz4000, cbg, cbh, cca)
new_compare32(ywz5000, ywz4000, ty_Char) → new_compare31(ywz5000, ywz4000)
new_ltEs10(Right(ywz5010), Right(ywz4010), ga, app(ty_[], chb)) → new_ltEs16(ywz5010, ywz4010, chb)
new_esEs11(@0, @0) → True
new_esEs25(ywz5001, ywz4001, ty_@0) → new_esEs11(ywz5001, ywz4001)
new_compare210(ywz500, ywz400, True) → EQ
new_compare32(ywz5000, ywz4000, ty_@0) → new_compare29(ywz5000, ywz4000)
new_esEs16(:(ywz5000, ywz5001), [], gg) → False
new_esEs16([], :(ywz4000, ywz4001), gg) → False
new_primCmpNat0(ywz50000, Zero) → GT
new_compare30(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, cbc)) → new_esEs4(ywz5000, ywz4000, cbc)
new_ltEs20(ywz5012, ywz4012, ty_Double) → new_ltEs17(ywz5012, ywz4012)
new_ltEs20(ywz5012, ywz4012, app(app(ty_Either, bec), bed)) → new_ltEs10(ywz5012, ywz4012, bec, bed)
new_primPlusNat1(Succ(ywz2170), ywz400100) → Succ(Succ(new_primPlusNat0(ywz2170, ywz400100)))
new_compare16(ywz500, ywz400, True, bh, ca, cb) → LT
new_compare13(ywz126, ywz127, ywz128, ywz129, False, ywz131, gh, ha) → new_compare12(ywz126, ywz127, ywz128, ywz129, ywz131, gh, ha)
new_compare32(ywz5000, ywz4000, ty_Int) → new_compare10(ywz5000, ywz4000)
new_compare23(ywz500, ywz400, True, bf, bg) → EQ
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare8(ywz500, ywz400) → new_compare210(ywz500, ywz400, new_esEs8(ywz500, ywz400))
new_lt8(ywz500, ywz400) → new_esEs8(new_compare10(ywz500, ywz400), LT)
new_esEs25(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_lt7(ywz5010, ywz4010, ty_Ordering) → new_lt6(ywz5010, ywz4010)
new_lt20(ywz5010, ywz4010, app(ty_Maybe, bbf)) → new_lt9(ywz5010, ywz4010, bbf)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], cch)) → new_esEs16(ywz5000, ywz4000, cch)
new_ltEs20(ywz5012, ywz4012, app(app(app(ty_@3, bee), bef), beg)) → new_ltEs13(ywz5012, ywz4012, bee, bef, beg)
new_lt7(ywz5010, ywz4010, ty_Integer) → new_lt13(ywz5010, ywz4010)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, hb)) → new_esEs18(ywz5000, ywz4000, hb)
new_esEs30(ywz500, ywz400, app(ty_[], gg)) → new_esEs16(ywz500, ywz400, gg)
new_compare5([], :(ywz4000, ywz4001), gg) → LT
new_lt19(ywz500, ywz400, app(app(ty_Either, bf), bg)) → new_lt4(ywz500, ywz400, bf, bg)
new_ltEs20(ywz5012, ywz4012, app(ty_[], bfb)) → new_ltEs16(ywz5012, ywz4012, bfb)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bae)) → new_esEs4(ywz5001, ywz4001, bae)
new_ltEs10(Right(ywz5010), Right(ywz4010), ga, ty_Bool) → new_ltEs11(ywz5010, ywz4010)
new_ltEs9(ywz501, ywz401) → new_not(new_esEs8(new_compare29(ywz501, ywz401), GT))
new_lt20(ywz5010, ywz4010, app(ty_[], bcf)) → new_lt16(ywz5010, ywz4010, bcf)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Int, bg) → new_esEs10(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), app(app(ty_@2, chf), chg), bg) → new_esEs7(ywz5000, ywz4000, chf, chg)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs13(ywz5001, ywz4001)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs25(ywz5001, ywz4001, ty_Bool) → new_esEs12(ywz5001, ywz4001)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_ltEs12(ywz501, ywz401) → new_not(new_esEs8(new_compare9(ywz501, ywz401), GT))
new_ltEs8(Just(ywz5010), Just(ywz4010), app(ty_Maybe, cdf)) → new_ltEs8(ywz5010, ywz4010, cdf)
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_compare19(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare10(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_esEs20(ywz5000, ywz4000, app(ty_[], hf)) → new_esEs16(ywz5000, ywz4000, hf)
new_asAs(False, ywz117) → False
new_ltEs11(True, True) → True
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_lt5(ywz500, ywz400, bh, ca, cb) → new_esEs8(new_compare7(ywz500, ywz400, bh, ca, cb), LT)
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_lt19(ywz500, ywz400, ty_Float) → new_lt12(ywz500, ywz400)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bbd), bbe)) → new_esEs5(ywz5001, ywz4001, bbd, bbe)
new_esEs23(ywz5011, ywz4011, app(app(app(ty_@3, bdc), bdd), bde)) → new_esEs6(ywz5011, ywz4011, bdc, bdd, bde)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5010, ywz4010, app(ty_Maybe, ce)) → new_esEs4(ywz5010, ywz4010, ce)
new_ltEs8(Just(ywz5010), Just(ywz4010), app(app(ty_@2, ced), cee)) → new_ltEs4(ywz5010, ywz4010, ced, cee)
new_compare17(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, daa), dab), dac), bg) → new_esEs6(ywz5000, ywz4000, daa, dab, dac)
new_esEs9(ywz5010, ywz4010, ty_Bool) → new_esEs12(ywz5010, ywz4010)
new_esEs16(:(ywz5000, ywz5001), :(ywz4000, ywz4001), gg) → new_asAs(new_esEs27(ywz5000, ywz4000, gg), new_esEs16(ywz5001, ywz4001, gg))
new_esEs24(ywz5000, ywz4000, app(ty_[], bfh)) → new_esEs16(ywz5000, ywz4000, bfh)
new_esEs23(ywz5011, ywz4011, app(app(ty_@2, bdf), bdg)) → new_esEs7(ywz5011, ywz4011, bdf, bdg)
new_primCmpNat1(Succ(ywz40000), ywz50000) → new_primCmpNat2(ywz40000, ywz50000)
new_esEs31(ywz501, ywz401, ty_Double) → new_esEs17(ywz501, ywz401)
new_compare32(ywz5000, ywz4000, ty_Double) → new_compare30(ywz5000, ywz4000)
new_primCmpNat2(Succ(ywz500000), Zero) → GT
new_compare32(ywz5000, ywz4000, app(app(ty_Either, ccb), ccc)) → new_compare6(ywz5000, ywz4000, ccb, ccc)
new_compare14(ywz500, ywz400, True, gd) → LT
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs25(ywz5001, ywz4001, app(app(app(ty_@3, bhc), bhd), bhe)) → new_esEs6(ywz5001, ywz4001, bhc, bhd, bhe)
new_esEs24(ywz5000, ywz4000, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_lt20(ywz5010, ywz4010, app(ty_Ratio, bcg)) → new_lt18(ywz5010, ywz4010, bcg)
new_ltEs6(LT, GT) → True
new_esEs30(ywz500, ywz400, app(app(ty_Either, bf), bg)) → new_esEs5(ywz500, ywz400, bf, bg)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs12(False, True) → False
new_esEs12(True, False) → False
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_compare24(@2(ywz500, ywz501), @2(ywz400, ywz401), False, bc, bd) → new_compare13(ywz500, ywz501, ywz400, ywz401, new_lt19(ywz500, ywz400, bc), new_asAs(new_esEs19(ywz500, ywz400, bc), new_ltEs19(ywz501, ywz401, bd)), bc, bd)
new_lt19(ywz500, ywz400, ty_Integer) → new_lt13(ywz500, ywz400)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(ty_Maybe, dag)) → new_esEs4(ywz5000, ywz4000, dag)
new_compare10(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Int, gb) → new_ltEs7(ywz5010, ywz4010)
new_esEs25(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs19(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_esEs16([], [], gg) → True
new_compare11(ywz500, ywz400, False) → GT
new_esEs31(ywz501, ywz401, ty_Float) → new_esEs13(ywz501, ywz401)
new_ltEs8(Nothing, Nothing, fc) → True
new_compare15(ywz50, ywz40, bc, bd) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, bc, bd), bc, bd)
new_ltEs10(Right(ywz5010), Left(ywz4010), ga, gb) → False
new_compare11(ywz500, ywz400, True) → LT
new_esEs31(ywz501, ywz401, app(ty_Maybe, fc)) → new_esEs4(ywz501, ywz401, fc)
new_esEs5(Left(ywz5000), Left(ywz4000), app(app(ty_Either, dad), dae), bg) → new_esEs5(ywz5000, ywz4000, dad, dae)
new_lt21(ywz5011, ywz4011, ty_Char) → new_lt15(ywz5011, ywz4011)
new_ltEs10(Right(ywz5010), Right(ywz4010), ga, ty_Char) → new_ltEs15(ywz5010, ywz4010)
new_lt21(ywz5011, ywz4011, ty_Double) → new_lt17(ywz5011, ywz4011)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Bool) → new_ltEs11(ywz5010, ywz4010)
new_ltEs14(ywz501, ywz401) → new_not(new_esEs8(new_compare17(ywz501, ywz401), GT))
new_lt21(ywz5011, ywz4011, ty_Float) → new_lt12(ywz5011, ywz4011)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, ccf), ccg)) → new_esEs7(ywz5000, ywz4000, ccf, ccg)
new_compare18(ywz500, ywz400, gd) → new_compare26(ywz500, ywz400, new_esEs4(ywz500, ywz400, gd), gd)
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_lt9(ywz500, ywz400, gd) → new_esEs8(new_compare18(ywz500, ywz400, gd), LT)
new_lt19(ywz500, ywz400, ty_@0) → new_lt10(ywz500, ywz400)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, hd), he)) → new_esEs7(ywz5000, ywz4000, hd, he)
new_lt20(ywz5010, ywz4010, app(app(app(ty_@3, bca), bcb), bcc)) → new_lt5(ywz5010, ywz4010, bca, bcb, bcc)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(app(ty_@2, dah), dba)) → new_esEs7(ywz5000, ywz4000, dah, dba)
new_primPlusNat0(Succ(ywz21700), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat0(ywz21700, ywz4001000)))
new_esEs23(ywz5011, ywz4011, app(ty_[], bdh)) → new_esEs16(ywz5011, ywz4011, bdh)
new_lt4(ywz500, ywz400, bf, bg) → new_esEs8(new_compare6(ywz500, ywz400, bf, bg), LT)
new_esEs9(ywz5010, ywz4010, app(app(app(ty_@3, da), db), dc)) → new_esEs6(ywz5010, ywz4010, da, db, dc)
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs11(ywz5001, ywz4001)
new_compare31(Char(ywz5000), Char(ywz4000)) → new_primCmpNat2(ywz5000, ywz4000)
new_esEs19(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_ltEs6(LT, EQ) → True
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bba), bbb), bbc)) → new_esEs6(ywz5001, ywz4001, bba, bbb, bbc)
new_ltEs6(GT, LT) → False
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_asAs(True, ywz117) → ywz117
new_esEs19(ywz500, ywz400, ty_@0) → new_esEs11(ywz500, ywz400)
new_ltEs19(ywz501, ywz401, ty_Float) → new_ltEs12(ywz501, ywz401)
new_ltEs19(ywz501, ywz401, ty_@0) → new_ltEs9(ywz501, ywz401)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_esEs31(ywz501, ywz401, ty_Bool) → new_esEs12(ywz501, ywz401)
new_esEs23(ywz5011, ywz4011, ty_Int) → new_esEs10(ywz5011, ywz4011)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs10(ywz5001, ywz4001)
new_lt20(ywz5010, ywz4010, ty_Char) → new_lt15(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_ltEs17(ywz501, ywz401) → new_not(new_esEs8(new_compare30(ywz501, ywz401), GT))
new_esEs19(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_ltEs5(ywz5011, ywz4011, ty_Ordering) → new_ltEs6(ywz5011, ywz4011)
new_compare5([], [], gg) → EQ
new_ltEs10(Right(ywz5010), Right(ywz4010), ga, ty_Ordering) → new_ltEs6(ywz5010, ywz4010)
new_ltEs20(ywz5012, ywz4012, ty_@0) → new_ltEs9(ywz5012, ywz4012)
new_ltEs20(ywz5012, ywz4012, ty_Ordering) → new_ltEs6(ywz5012, ywz4012)
new_lt17(ywz500, ywz400) → new_esEs8(new_compare30(ywz500, ywz400), LT)
new_esEs30(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs12(ywz5001, ywz4001)
new_esEs22(ywz5010, ywz4010, app(app(ty_Either, bbg), bbh)) → new_esEs5(ywz5010, ywz4010, bbg, bbh)
new_ltEs5(ywz5011, ywz4011, ty_Bool) → new_ltEs11(ywz5011, ywz4011)
new_esEs10(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_primCompAux00(ywz279, GT) → GT
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, app(app(app(ty_@3, bh), ca), cb)) → new_esEs6(ywz500, ywz400, bh, ca, cb)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Integer, gb) → new_ltEs14(ywz5010, ywz4010)
new_ltEs10(Right(ywz5010), Right(ywz4010), ga, ty_@0) → new_ltEs9(ywz5010, ywz4010)
new_compare19(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare17(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_esEs21(ywz5001, ywz4001, app(ty_[], bah)) → new_esEs16(ywz5001, ywz4001, bah)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_lt7(ywz5010, ywz4010, ty_@0) → new_lt10(ywz5010, ywz4010)
new_lt19(ywz500, ywz400, ty_Char) → new_lt15(ywz500, ywz400)
new_ltEs10(Right(ywz5010), Right(ywz4010), ga, app(ty_Ratio, chc)) → new_ltEs18(ywz5010, ywz4010, chc)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs30(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_esEs31(ywz501, ywz401, app(app(ty_@2, cc), cd)) → new_esEs7(ywz501, ywz401, cc, cd)
new_ltEs19(ywz501, ywz401, ty_Bool) → new_ltEs11(ywz501, ywz401)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bad)) → new_esEs18(ywz5001, ywz4001, bad)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_ltEs19(x0, x1, ty_Double)
new_sr(x0, x1)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare26(x0, x1, True, x2)
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs10(Right(x0), Right(x1), x2, ty_Float)
new_primCmpNat1(Succ(x0), x1)
new_esEs20(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs9(x0, x1, app(ty_[], x2))
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_compare10(x0, x1)
new_compare32(x0, x1, ty_Int)
new_compare12(x0, x1, x2, x3, False, x4, x5)
new_esEs26(x0, x1, ty_Ordering)
new_esEs30(x0, x1, ty_Double)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs21(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Int)
new_lt10(x0, x1)
new_primPlusNat1(Succ(x0), x1)
new_ltEs10(Right(x0), Right(x1), x2, ty_@0)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_Maybe, x2))
new_compare7(x0, x1, x2, x3, x4)
new_compare32(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Char)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_primCompAux00(x0, EQ)
new_esEs12(False, False)
new_lt19(x0, x1, ty_Float)
new_ltEs10(Right(x0), Right(x1), x2, ty_Bool)
new_esEs25(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Bool)
new_esEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Succ(x0), Zero)
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat0(Zero, Succ(x0))
new_compare13(x0, x1, x2, x3, True, x4, x5, x6)
new_ltEs5(x0, x1, ty_@0)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_primMulInt(Pos(x0), Pos(x1))
new_esEs11(@0, @0)
new_lt20(x0, x1, ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs30(x0, x1, ty_Ordering)
new_compare6(x0, x1, x2, x3)
new_esEs30(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs8(GT, GT)
new_lt20(x0, x1, ty_Bool)
new_esEs19(x0, x1, ty_Char)
new_ltEs18(x0, x1, x2)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare32(x0, x1, ty_Float)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs16([], [], x0)
new_esEs8(LT, LT)
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(Left(x0), Left(x1), ty_Double, x2)
new_primEqNat0(Succ(x0), Succ(x1))
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat0(x0, Zero)
new_esEs19(x0, x1, app(ty_[], x2))
new_ltEs8(Nothing, Nothing, x0)
new_compare110(x0, x1, False, x2, x3)
new_esEs19(x0, x1, ty_Float)
new_esEs31(x0, x1, ty_Bool)
new_esEs16([], :(x0, x1), x2)
new_ltEs20(x0, x1, ty_Int)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_lt21(x0, x1, app(ty_Maybe, x2))
new_esEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt19(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Bool)
new_ltEs10(Right(x0), Right(x1), x2, ty_Char)
new_esEs10(x0, x1)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_ltEs10(Left(x0), Left(x1), ty_Char, x2)
new_ltEs9(x0, x1)
new_ltEs6(EQ, EQ)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Integer)
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_esEs28(x0, x1, ty_Int)
new_lt21(x0, x1, ty_Bool)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_primCompAux00(x0, LT)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs4(Just(x0), Just(x1), ty_@0)
new_compare5([], [], x0)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, app(ty_[], x2))
new_ltEs6(LT, EQ)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(EQ, LT)
new_compare29(@0, @0)
new_ltEs20(x0, x1, ty_Char)
new_esEs5(Right(x0), Right(x1), x2, ty_Int)
new_compare32(x0, x1, ty_Double)
new_primEqNat0(Zero, Zero)
new_esEs22(x0, x1, ty_Float)
new_esEs4(Just(x0), Nothing, x1)
new_ltEs10(Right(x0), Left(x1), x2, x3)
new_ltEs10(Left(x0), Right(x1), x2, x3)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_compare26(x0, x1, False, x2)
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_compare16(x0, x1, True, x2, x3, x4)
new_lt19(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_esEs23(x0, x1, ty_Char)
new_compare30(Double(x0, x1), Double(x2, x3))
new_compare24(x0, x1, True, x2, x3)
new_esEs29(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Bool)
new_primMulNat0(Zero, Zero)
new_ltEs5(x0, x1, ty_Int)
new_lt7(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_lt7(x0, x1, ty_Char)
new_lt21(x0, x1, ty_Int)
new_ltEs10(Left(x0), Left(x1), ty_Integer, x2)
new_esEs30(x0, x1, ty_Char)
new_compare16(x0, x1, False, x2, x3, x4)
new_lt20(x0, x1, ty_Ordering)
new_esEs5(Right(x0), Right(x1), x2, ty_Char)
new_ltEs20(x0, x1, ty_Ordering)
new_ltEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt21(x0, x1, app(ty_[], x2))
new_compare32(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Integer)
new_lt21(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, app(ty_[], x2))
new_ltEs10(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs19(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Integer)
new_compare28(x0, x1, True)
new_ltEs10(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs18(:%(x0, x1), :%(x2, x3), x4)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs5(Right(x0), Right(x1), x2, ty_Integer)
new_esEs31(x0, x1, ty_Double)
new_esEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_lt21(x0, x1, ty_Char)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_compare5([], :(x0, x1), x2)
new_lt7(x0, x1, ty_@0)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt17(x0, x1)
new_esEs24(x0, x1, ty_Double)
new_esEs9(x0, x1, ty_Double)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare32(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Bool)
new_lt18(x0, x1, x2)
new_esEs28(x0, x1, ty_Integer)
new_esEs7(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs21(x0, x1, ty_Double)
new_compare24(@2(x0, x1), @2(x2, x3), False, x4, x5)
new_ltEs10(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs22(x0, x1, ty_Double)
new_esEs20(x0, x1, ty_@0)
new_esEs23(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_@0)
new_compare111(x0, x1, True)
new_ltEs19(x0, x1, ty_Char)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, ty_Integer)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, ty_Bool)
new_esEs5(Right(x0), Right(x1), x2, ty_Double)
new_lt7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs8(Nothing, Just(x0), x1)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1, ty_@0)
new_esEs24(x0, x1, ty_Float)
new_primCmpNat1(Zero, x0)
new_ltEs10(Left(x0), Left(x1), ty_Ordering, x2)
new_compare14(x0, x1, True, x2)
new_primCmpNat2(Zero, Zero)
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1, ty_Bool)
new_primPlusNat0(Zero, Zero)
new_compare23(x0, x1, True, x2, x3)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs22(x0, x1, ty_Ordering)
new_esEs21(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_compare17(Integer(x0), Integer(x1))
new_compare111(x0, x1, False)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare23(x0, x1, False, x2, x3)
new_compare32(x0, x1, ty_Bool)
new_lt7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_compare18(x0, x1, x2)
new_ltEs10(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare15(x0, x1, x2, x3)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_compare32(x0, x1, ty_Ordering)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_compare32(x0, x1, app(ty_Ratio, x2))
new_esEs22(x0, x1, ty_Int)
new_compare8(x0, x1)
new_esEs25(x0, x1, ty_Integer)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, ty_Ordering)
new_lt21(x0, x1, ty_Double)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare32(x0, x1, ty_@0)
new_lt21(x0, x1, ty_Ordering)
new_esEs5(Left(x0), Left(x1), ty_Bool, x2)
new_esEs22(x0, x1, ty_@0)
new_primPlusNat1(Zero, x0)
new_esEs25(x0, x1, ty_@0)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs10(Left(x0), Left(x1), ty_Int, x2)
new_esEs5(Right(x0), Right(x1), x2, ty_Bool)
new_compare25(x0, x1, False, x2, x3, x4)
new_lt7(x0, x1, ty_Bool)
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_esEs5(Right(x0), Left(x1), x2, x3)
new_esEs5(Left(x0), Right(x1), x2, x3)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, ty_Ordering)
new_esEs12(True, True)
new_esEs5(Right(x0), Right(x1), x2, ty_Float)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_ltEs10(Right(x0), Right(x1), x2, ty_Double)
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_lt16(x0, x1, x2)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_@0)
new_lt9(x0, x1, x2)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs14(Integer(x0), Integer(x1))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs20(x0, x1, ty_Int)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_ltEs11(False, False)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_lt19(x0, x1, ty_Integer)
new_primCompAux00(x0, GT)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, ty_Char)
new_esEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_compare32(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Zero, Succ(x0))
new_esEs8(EQ, EQ)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Bool)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_lt21(x0, x1, ty_Float)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_lt7(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Int)
new_esEs31(x0, x1, ty_Int)
new_ltEs11(False, True)
new_ltEs11(True, False)
new_esEs24(x0, x1, ty_Bool)
new_compare110(x0, x1, True, x2, x3)
new_esEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_esEs19(x0, x1, ty_Double)
new_compare210(x0, x1, False)
new_ltEs5(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, app(ty_[], x2))
new_sr0(Integer(x0), Integer(x1))
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_lt7(x0, x1, ty_Double)
new_lt4(x0, x1, x2, x3)
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_lt7(x0, x1, app(ty_Ratio, x2))
new_esEs5(Left(x0), Left(x1), ty_Char, x2)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_ltEs5(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Int)
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, ty_Int)
new_esEs31(x0, x1, ty_Integer)
new_esEs24(x0, x1, ty_Ordering)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt8(x0, x1)
new_esEs30(x0, x1, ty_@0)
new_esEs16(:(x0, x1), [], x2)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs6(GT, GT)
new_compare28(x0, x1, False)
new_pePe(True, x0)
new_primCmpNat2(Succ(x0), Succ(x1))
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_Ordering)
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_esEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primEqNat0(Succ(x0), Zero)
new_esEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs27(x0, x1, ty_@0)
new_compare11(x0, x1, False)
new_esEs22(x0, x1, ty_Bool)
new_esEs23(x0, x1, ty_Integer)
new_lt19(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Float)
new_esEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_pePe(False, x0)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_ltEs10(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs10(Left(x0), Left(x1), ty_Float, x2)
new_esEs24(x0, x1, ty_Integer)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_compare25(x0, x1, True, x2, x3, x4)
new_lt7(x0, x1, ty_Float)
new_compare5(:(x0, x1), :(x2, x3), x4)
new_esEs26(x0, x1, ty_Float)
new_esEs31(x0, x1, ty_Ordering)
new_esEs19(x0, x1, ty_Bool)
new_primCmpNat2(Zero, Succ(x0))
new_esEs23(x0, x1, ty_Bool)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs16(x0, x1, x2)
new_ltEs6(LT, LT)
new_esEs4(Nothing, Nothing, x0)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, True)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs25(x0, x1, ty_Int)
new_compare210(x0, x1, True)
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_Char)
new_ltEs7(x0, x1)
new_lt7(x0, x1, ty_Int)
new_compare32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_asAs(False, x0)
new_esEs23(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs19(x0, x1, ty_Ordering)
new_esEs23(x0, x1, ty_Ordering)
new_esEs31(x0, x1, ty_Float)
new_ltEs20(x0, x1, ty_Double)
new_compare14(x0, x1, False, x2)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs27(x0, x1, ty_Int)
new_compare9(Float(x0, x1), Float(x2, x3))
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs9(x0, x1, ty_Int)
new_esEs12(False, True)
new_esEs12(True, False)
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_compare32(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_@0)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_compare5(:(x0, x1), [], x2)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_lt19(x0, x1, ty_Double)
new_ltEs10(Left(x0), Left(x1), ty_Bool, x2)
new_esEs26(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Double)
new_esEs27(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, ty_Double)
new_primCompAux0(x0, x1, x2, x3)
new_lt14(x0, x1, x2, x3)
new_lt20(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_esEs24(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_@0)
new_ltEs5(x0, x1, ty_Bool)
new_not(True)
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, ty_Char)
new_ltEs20(x0, x1, ty_@0)
new_esEs29(x0, x1, ty_Integer)
new_lt11(x0, x1)
new_esEs21(x0, x1, ty_@0)
new_primCmpNat0(x0, Succ(x1))
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_lt21(x0, x1, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_compare19(:%(x0, x1), :%(x2, x3), ty_Integer)
new_not(False)
new_ltEs5(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_Integer)
new_primCmpNat2(Succ(x0), Zero)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs9(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_ltEs15(x0, x1)
new_esEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs5(Left(x0), Left(x1), ty_Float, x2)
new_lt5(x0, x1, x2, x3, x4)
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Bool)
new_compare19(:%(x0, x1), :%(x2, x3), ty_Int)
new_asAs(True, x0)
new_ltEs14(x0, x1)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs10(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs21(x0, x1, ty_Float)
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_esEs15(Char(x0), Char(x1))
new_esEs19(x0, x1, ty_Integer)
new_esEs19(x0, x1, ty_@0)
new_lt20(x0, x1, app(ty_[], x2))
new_ltEs13(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_lt20(x0, x1, ty_Float)
new_esEs31(x0, x1, ty_@0)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs31(x0, x1, ty_Char)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_ltEs10(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_compare27(x0, x1)
new_ltEs5(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs26(x0, x1, ty_Char)
new_ltEs10(Left(x0), Left(x1), ty_Double, x2)
new_esEs20(x0, x1, ty_Float)
new_ltEs19(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Float)
new_lt7(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Double)
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(Nothing, Just(x0), x1)
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_lt13(x0, x1)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_compare12(x0, x1, x2, x3, True, x4, x5)
new_ltEs17(x0, x1)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Right(x0), Right(x1), x2, ty_@0)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Zero), Pos(Zero))
new_ltEs10(Left(x0), Left(x1), ty_@0, x2)
new_lt20(x0, x1, ty_Char)
new_esEs25(x0, x1, ty_Float)
new_lt15(x0, x1)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primEqNat0(Zero, Succ(x0))
new_lt19(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, ty_Double)
new_esEs13(Float(x0, x1), Float(x2, x3))
new_compare31(Char(x0), Char(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_lt6(x0, x1)
new_esEs9(x0, x1, ty_@0)
new_ltEs19(x0, x1, ty_Integer)
new_lt19(x0, x1, ty_Ordering)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_lt7(x0, x1, app(ty_Maybe, x2))
new_ltEs8(Just(x0), Nothing, x1)
new_esEs20(x0, x1, ty_Char)
new_primPlusNat0(Succ(x0), Zero)
new_esEs21(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Bool)
new_lt12(x0, x1)
new_esEs31(x0, x1, app(ty_[], x2))
new_ltEs11(True, True)
new_esEs26(x0, x1, ty_@0)
new_compare13(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(x0, x1)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_lt7(x0, x1, ty_Ordering)
From the DPs we obtained the following set of size-change graphs:
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
↳ HASKELL
↳ IFR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ NumRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
new_splitGT2(ywz20, ywz21, ywz22, ywz23, ywz24, Branch(ywz250, ywz251, ywz252, ywz253, ywz254), ywz26, ywz27, True, h, ba, bb) → new_splitGT3(ywz250, ywz251, ywz252, ywz253, ywz254, @2(ywz26, ywz27), h, ba, bb)
new_splitGT(Branch(ywz250, ywz251, ywz252, ywz253, ywz254), ywz26, ywz27, h, ba, bb) → new_splitGT3(ywz250, ywz251, ywz252, ywz253, ywz254, @2(ywz26, ywz27), h, ba, bb)
new_splitGT3(@2(ywz400, ywz401), ywz41, ywz42, ywz43, ywz44, @2(ywz500, ywz501), bc, bd, be) → new_splitGT2(ywz400, ywz401, ywz41, ywz42, ywz43, ywz44, ywz500, ywz501, new_esEs8(new_compare24(@2(ywz500, ywz501), @2(ywz400, ywz401), new_asAs(new_esEs32(ywz500, ywz400, bc), new_esEs33(ywz501, ywz401, bd)), bc, bd), GT), bc, bd, be)
new_splitGT2(ywz20, ywz21, ywz22, ywz23, ywz24, ywz25, ywz26, ywz27, False, h, ba, bb) → new_splitGT1(ywz20, ywz21, ywz22, ywz23, ywz24, ywz25, ywz26, ywz27, new_lt14(@2(ywz26, ywz27), @2(ywz20, ywz21), h, ba), h, ba, bb)
new_splitGT1(ywz20, ywz21, ywz22, ywz23, ywz24, ywz25, ywz26, ywz27, True, h, ba, bb) → new_splitGT(ywz24, ywz26, ywz27, h, ba, bb)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cce)) → new_esEs4(ywz5000, ywz4000, cce)
new_esEs22(ywz5010, ywz4010, ty_Double) → new_esEs17(ywz5010, ywz4010)
new_primCmpNat0(ywz50000, Succ(ywz40000)) → new_primCmpNat2(ywz50000, ywz40000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, app(app(ty_Either, bgd), bge)) → new_esEs5(ywz5000, ywz4000, bgd, bge)
new_lt10(ywz500, ywz400) → new_esEs8(new_compare29(ywz500, ywz400), LT)
new_esEs27(ywz5000, ywz4000, app(ty_[], cbf)) → new_esEs16(ywz5000, ywz4000, cbf)
new_lt7(ywz5010, ywz4010, ty_Double) → new_lt17(ywz5010, ywz4010)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_@0, gg) → new_ltEs9(ywz5010, ywz4010)
new_esEs25(ywz5001, ywz4001, app(ty_[], bhb)) → new_esEs16(ywz5001, ywz4001, bhb)
new_esEs24(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs5(ywz5011, ywz4011, app(app(ty_Either, ea), eb)) → new_ltEs10(ywz5011, ywz4011, ea, eb)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_ltEs19(ywz501, ywz401, ty_Char) → new_ltEs15(ywz501, ywz401)
new_ltEs10(Left(ywz5010), Right(ywz4010), gf, gg) → True
new_compare110(ywz500, ywz400, True, bf, bg) → LT
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_esEs23(ywz5011, ywz4011, app(app(ty_Either, bda), bdb)) → new_esEs5(ywz5011, ywz4011, bda, bdb)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, cbb)) → new_esEs18(ywz5000, ywz4000, cbb)
new_esEs19(ywz500, ywz400, app(ty_[], fg)) → new_esEs16(ywz500, ywz400, fg)
new_lt7(ywz5010, ywz4010, ty_Bool) → new_lt11(ywz5010, ywz4010)
new_ltEs8(Just(ywz5010), Just(ywz4010), app(app(app(ty_@3, cea), ceb), cec)) → new_ltEs13(ywz5010, ywz4010, cea, ceb, cec)
new_esEs4(Just(ywz5000), Nothing, fc) → False
new_esEs4(Nothing, Just(ywz4000), fc) → False
new_esEs24(ywz5000, ywz4000, app(ty_Maybe, bfe)) → new_esEs4(ywz5000, ywz4000, bfe)
new_compare16(ywz500, ywz400, False, bh, ca, cb) → GT
new_esEs9(ywz5010, ywz4010, ty_Char) → new_esEs15(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs15(ywz501, ywz401) → new_not(new_esEs8(new_compare31(ywz501, ywz401), GT))
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs13(ywz5000, ywz4000)
new_esEs26(ywz5002, ywz4002, ty_Float) → new_esEs13(ywz5002, ywz4002)
new_primMulNat0(Zero, Zero) → Zero
new_esEs19(ywz500, ywz400, app(ty_Ratio, fb)) → new_esEs18(ywz500, ywz400, fb)
new_esEs26(ywz5002, ywz4002, app(ty_[], cad)) → new_esEs16(ywz5002, ywz4002, cad)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Double) → new_ltEs17(ywz5010, ywz4010)
new_primCompAux0(ywz5000, ywz4000, ywz251, fg) → new_primCompAux00(ywz251, new_compare32(ywz5000, ywz4000, fg))
new_ltEs20(ywz5012, ywz4012, ty_Float) → new_ltEs12(ywz5012, ywz4012)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cda), cdb), cdc)) → new_esEs6(ywz5000, ywz4000, cda, cdb, cdc)
new_esEs12(True, True) → True
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, hc)) → new_esEs4(ywz5000, ywz4000, hc)
new_lt19(ywz500, ywz400, app(ty_Maybe, fc)) → new_lt9(ywz500, ywz400, fc)
new_lt21(ywz5011, ywz4011, ty_Ordering) → new_lt6(ywz5011, ywz4011)
new_compare32(ywz5000, ywz4000, app(app(app(ty_@3, cbg), cbh), cca)) → new_compare7(ywz5000, ywz4000, cbg, cbh, cca)
new_ltEs19(ywz501, ywz401, ty_Integer) → new_ltEs14(ywz501, ywz401)
new_ltEs20(ywz5012, ywz4012, app(ty_Maybe, beb)) → new_ltEs8(ywz5012, ywz4012, beb)
new_ltEs5(ywz5011, ywz4011, ty_Char) → new_ltEs15(ywz5011, ywz4011)
new_esEs32(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_esEs23(ywz5011, ywz4011, ty_Bool) → new_esEs12(ywz5011, ywz4011)
new_esEs19(ywz500, ywz400, ty_Int) → new_esEs10(ywz500, ywz400)
new_esEs25(ywz5001, ywz4001, app(ty_Ratio, bgf)) → new_esEs18(ywz5001, ywz4001, bgf)
new_lt19(ywz500, ywz400, ty_Ordering) → new_lt6(ywz500, ywz400)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_@0) → new_ltEs9(ywz5010, ywz4010)
new_esEs26(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_esEs23(ywz5011, ywz4011, app(ty_Maybe, bch)) → new_esEs4(ywz5011, ywz4011, bch)
new_lt21(ywz5011, ywz4011, app(ty_[], bdh)) → new_lt16(ywz5011, ywz4011, bdh)
new_esEs23(ywz5011, ywz4011, ty_Char) → new_esEs15(ywz5011, ywz4011)
new_lt21(ywz5011, ywz4011, ty_Bool) → new_lt11(ywz5011, ywz4011)
new_compare26(ywz500, ywz400, False, fc) → new_compare14(ywz500, ywz400, new_ltEs8(ywz500, ywz400, fc), fc)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Bool, bg) → new_esEs12(ywz5000, ywz4000)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Float, gg) → new_ltEs12(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_lt18(ywz500, ywz400, fb) → new_esEs8(new_compare19(ywz500, ywz400, fb), LT)
new_esEs9(ywz5010, ywz4010, ty_Int) → new_esEs10(ywz5010, ywz4010)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Int) → new_ltEs7(ywz5010, ywz4010)
new_lt20(ywz5010, ywz4010, ty_Float) → new_lt12(ywz5010, ywz4010)
new_lt11(ywz500, ywz400) → new_esEs8(new_compare27(ywz500, ywz400), LT)
new_esEs26(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_esEs26(ywz5002, ywz4002, app(ty_Maybe, caa)) → new_esEs4(ywz5002, ywz4002, caa)
new_esEs22(ywz5010, ywz4010, app(ty_Ratio, bcg)) → new_esEs18(ywz5010, ywz4010, bcg)
new_esEs33(ywz501, ywz401, ty_Double) → new_esEs17(ywz501, ywz401)
new_esEs19(ywz500, ywz400, app(app(ty_Either, bf), bg)) → new_esEs5(ywz500, ywz400, bf, bg)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(app(app(ty_@3, dbc), dbd), dbe)) → new_esEs6(ywz5000, ywz4000, dbc, dbd, dbe)
new_compare32(ywz5000, ywz4000, app(app(ty_@2, cbd), cbe)) → new_compare15(ywz5000, ywz4000, cbd, cbe)
new_ltEs5(ywz5011, ywz4011, ty_Int) → new_ltEs7(ywz5011, ywz4011)
new_ltEs10(Right(ywz5010), Right(ywz4010), gf, app(app(ty_@2, cgh), cha)) → new_ltEs4(ywz5010, ywz4010, cgh, cha)
new_compare32(ywz5000, ywz4000, ty_Float) → new_compare9(ywz5000, ywz4000)
new_esEs25(ywz5001, ywz4001, ty_Float) → new_esEs13(ywz5001, ywz4001)
new_esEs9(ywz5010, ywz4010, ty_Integer) → new_esEs14(ywz5010, ywz4010)
new_pePe(False, ywz250) → ywz250
new_esEs25(ywz5001, ywz4001, app(app(ty_@2, bgh), bha)) → new_esEs7(ywz5001, ywz4001, bgh, bha)
new_lt20(ywz5010, ywz4010, ty_Bool) → new_lt11(ywz5010, ywz4010)
new_compare29(@0, @0) → EQ
new_ltEs19(ywz501, ywz401, app(app(ty_@2, cc), cd)) → new_ltEs4(ywz501, ywz401, cc, cd)
new_esEs7(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fd, ff) → new_asAs(new_esEs20(ywz5000, ywz4000, fd), new_esEs21(ywz5001, ywz4001, ff))
new_ltEs10(Right(ywz5010), Right(ywz4010), gf, ty_Float) → new_ltEs12(ywz5010, ywz4010)
new_lt19(ywz500, ywz400, app(ty_[], fg)) → new_lt16(ywz500, ywz400, fg)
new_lt21(ywz5011, ywz4011, app(ty_Ratio, bea)) → new_lt18(ywz5011, ywz4011, bea)
new_lt6(ywz500, ywz400) → new_esEs8(new_compare8(ywz500, ywz400), LT)
new_esEs33(ywz501, ywz401, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz501, ywz401, gc, gd, ge)
new_compare12(ywz126, ywz127, ywz128, ywz129, False, gh, ha) → GT
new_lt21(ywz5011, ywz4011, app(app(app(ty_@3, bdc), bdd), bde)) → new_lt5(ywz5011, ywz4011, bdc, bdd, bde)
new_ltEs5(ywz5011, ywz4011, app(app(ty_@2, ef), eg)) → new_ltEs4(ywz5011, ywz4011, ef, eg)
new_esEs24(ywz5000, ywz4000, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_esEs26(ywz5002, ywz4002, ty_Bool) → new_esEs12(ywz5002, ywz4002)
new_esEs17(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs10(Left(ywz5010), Left(ywz4010), app(app(app(ty_@3, cfc), cfd), cfe), gg) → new_ltEs13(ywz5010, ywz4010, cfc, cfd, cfe)
new_compare32(ywz5000, ywz4000, ty_Bool) → new_compare27(ywz5000, ywz4000)
new_ltEs6(GT, EQ) → False
new_lt20(ywz5010, ywz4010, app(app(ty_@2, bcd), bce)) → new_lt14(ywz5010, ywz4010, bcd, bce)
new_ltEs10(Left(ywz5010), Left(ywz4010), app(app(ty_Either, cfa), cfb), gg) → new_ltEs10(ywz5010, ywz4010, cfa, cfb)
new_esEs22(ywz5010, ywz4010, ty_Ordering) → new_esEs8(ywz5010, ywz4010)
new_ltEs11(False, True) → True
new_esEs9(ywz5010, ywz4010, ty_Double) → new_esEs17(ywz5010, ywz4010)
new_compare111(ywz500, ywz400, False) → GT
new_ltEs19(ywz501, ywz401, app(ty_Ratio, fh)) → new_ltEs18(ywz501, ywz401, fh)
new_compare111(ywz500, ywz400, True) → LT
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_lt21(ywz5011, ywz4011, app(app(ty_Either, bda), bdb)) → new_lt4(ywz5011, ywz4011, bda, bdb)
new_lt16(ywz500, ywz400, fg) → new_esEs8(new_compare5(ywz500, ywz400, fg), LT)
new_ltEs19(ywz501, ywz401, ty_Double) → new_ltEs17(ywz501, ywz401)
new_esEs5(Left(ywz5000), Left(ywz4000), app(ty_Maybe, che), bg) → new_esEs4(ywz5000, ywz4000, che)
new_ltEs19(ywz501, ywz401, ty_Int) → new_ltEs7(ywz501, ywz401)
new_esEs32(ywz500, ywz400, app(ty_Maybe, fc)) → new_esEs4(ywz500, ywz400, fc)
new_compare25(ywz500, ywz400, False, bh, ca, cb) → new_compare16(ywz500, ywz400, new_ltEs13(ywz500, ywz400, bh, ca, cb), bh, ca, cb)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Ordering, bg) → new_esEs8(ywz5000, ywz4000)
new_ltEs20(ywz5012, ywz4012, app(app(ty_@2, beh), bfa)) → new_ltEs4(ywz5012, ywz4012, beh, bfa)
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat1(ywz4000, ywz50000)
new_esEs26(ywz5002, ywz4002, ty_Double) → new_esEs17(ywz5002, ywz4002)
new_ltEs8(Nothing, Just(ywz4010), ga) → True
new_esEs9(ywz5010, ywz4010, ty_Float) → new_esEs13(ywz5010, ywz4010)
new_compare6(ywz500, ywz400, bf, bg) → new_compare23(ywz500, ywz400, new_esEs5(ywz500, ywz400, bf, bg), bf, bg)
new_lt20(ywz5010, ywz4010, ty_Ordering) → new_lt6(ywz5010, ywz4010)
new_esEs25(ywz5001, ywz4001, app(app(ty_Either, bhf), bhg)) → new_esEs5(ywz5001, ywz4001, bhf, bhg)
new_esEs33(ywz501, ywz401, app(ty_[], gb)) → new_esEs16(ywz501, ywz401, gb)
new_esEs8(LT, LT) → True
new_ltEs10(Left(ywz5010), Left(ywz4010), app(ty_[], cfh), gg) → new_ltEs16(ywz5010, ywz4010, cfh)
new_compare25(ywz500, ywz400, True, bh, ca, cb) → EQ
new_esEs19(ywz500, ywz400, app(ty_Maybe, fc)) → new_esEs4(ywz500, ywz400, fc)
new_lt7(ywz5010, ywz4010, app(ty_Ratio, dg)) → new_lt18(ywz5010, ywz4010, dg)
new_esEs25(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs19(ywz501, ywz401, app(app(ty_Either, gf), gg)) → new_ltEs10(ywz501, ywz401, gf, gg)
new_esEs19(ywz500, ywz400, ty_Bool) → new_esEs12(ywz500, ywz400)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_esEs25(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, hg), hh), baa)) → new_esEs6(ywz5000, ywz4000, hg, hh, baa)
new_esEs33(ywz501, ywz401, ty_Float) → new_esEs13(ywz501, ywz401)
new_ltEs10(Left(ywz5010), Left(ywz4010), app(ty_Maybe, ceh), gg) → new_ltEs8(ywz5010, ywz4010, ceh)
new_pePe(True, ywz250) → True
new_primEqNat0(Zero, Zero) → True
new_ltEs20(ywz5012, ywz4012, app(ty_Ratio, bfc)) → new_ltEs18(ywz5012, ywz4012, bfc)
new_esEs23(ywz5011, ywz4011, ty_@0) → new_esEs11(ywz5011, ywz4011)
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat1(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_esEs22(ywz5010, ywz4010, ty_@0) → new_esEs11(ywz5010, ywz4010)
new_ltEs20(ywz5012, ywz4012, ty_Integer) → new_ltEs14(ywz5012, ywz4012)
new_lt7(ywz5010, ywz4010, app(ty_[], df)) → new_lt16(ywz5010, ywz4010, df)
new_ltEs5(ywz5011, ywz4011, app(ty_Maybe, dh)) → new_ltEs8(ywz5011, ywz4011, dh)
new_esEs22(ywz5010, ywz4010, app(app(ty_@2, bcd), bce)) → new_esEs7(ywz5010, ywz4010, bcd, bce)
new_ltEs16(ywz501, ywz401, gb) → new_not(new_esEs8(new_compare5(ywz501, ywz401, gb), GT))
new_esEs32(ywz500, ywz400, ty_Bool) → new_esEs12(ywz500, ywz400)
new_esEs19(ywz500, ywz400, ty_Float) → new_esEs13(ywz500, ywz400)
new_ltEs5(ywz5011, ywz4011, app(ty_Ratio, fa)) → new_ltEs18(ywz5011, ywz4011, fa)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_compare110(ywz500, ywz400, False, bf, bg) → GT
new_ltEs4(@2(ywz5010, ywz5011), @2(ywz4010, ywz4011), cc, cd) → new_pePe(new_lt7(ywz5010, ywz4010, cc), new_asAs(new_esEs9(ywz5010, ywz4010, cc), new_ltEs5(ywz5011, ywz4011, cd)))
new_ltEs19(ywz501, ywz401, ty_Ordering) → new_ltEs6(ywz501, ywz401)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs9(ywz5010, ywz4010, ty_@0) → new_esEs11(ywz5010, ywz4010)
new_esEs32(ywz500, ywz400, app(app(ty_@2, fd), ff)) → new_esEs7(ywz500, ywz400, fd, ff)
new_esEs18(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), fb) → new_asAs(new_esEs28(ywz5000, ywz4000, fb), new_esEs29(ywz5001, ywz4001, fb))
new_esEs9(ywz5010, ywz4010, app(ty_[], df)) → new_esEs16(ywz5010, ywz4010, df)
new_lt19(ywz500, ywz400, ty_Int) → new_lt8(ywz500, ywz400)
new_lt7(ywz5010, ywz4010, ty_Int) → new_lt8(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, app(app(ty_@2, bff), bfg)) → new_esEs7(ywz5000, ywz4000, bff, bfg)
new_ltEs10(Right(ywz5010), Right(ywz4010), gf, app(ty_Maybe, cgb)) → new_ltEs8(ywz5010, ywz4010, cgb)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat0(ywz40000, Zero)
new_esEs26(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_ltEs6(EQ, GT) → True
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(ty_Ratio, daf)) → new_esEs18(ywz5000, ywz4000, daf)
new_esEs8(GT, GT) → True
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat1(Zero, ywz40000)
new_compare32(ywz5000, ywz4000, app(ty_[], cbf)) → new_compare5(ywz5000, ywz4000, cbf)
new_lt7(ywz5010, ywz4010, app(app(app(ty_@3, da), db), dc)) → new_lt5(ywz5010, ywz4010, da, db, dc)
new_lt20(ywz5010, ywz4010, ty_Double) → new_lt17(ywz5010, ywz4010)
new_esEs26(ywz5002, ywz4002, app(app(app(ty_@3, cae), caf), cag)) → new_esEs6(ywz5002, ywz4002, cae, caf, cag)
new_esEs12(False, False) → True
new_esEs8(LT, GT) → False
new_esEs8(GT, LT) → False
new_esEs32(ywz500, ywz400, ty_Double) → new_esEs17(ywz500, ywz400)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Bool, gg) → new_ltEs11(ywz5010, ywz4010)
new_esEs13(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, ccd)) → new_esEs18(ywz5000, ywz4000, ccd)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare210(ywz500, ywz400, False) → new_compare111(ywz500, ywz400, new_ltEs6(ywz500, ywz400))
new_ltEs8(Just(ywz5010), Just(ywz4010), app(ty_Ratio, ceg)) → new_ltEs18(ywz5010, ywz4010, ceg)
new_ltEs7(ywz501, ywz401) → new_not(new_esEs8(new_compare10(ywz501, ywz401), GT))
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5010, ywz4010, app(app(app(ty_@3, bca), bcb), bcc)) → new_esEs6(ywz5010, ywz4010, bca, bcb, bcc)
new_esEs23(ywz5011, ywz4011, ty_Ordering) → new_esEs8(ywz5011, ywz4011)
new_esEs5(Left(ywz5000), Left(ywz4000), app(ty_[], chh), bg) → new_esEs16(ywz5000, ywz4000, chh)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Ordering, gg) → new_ltEs6(ywz5010, ywz4010)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_primCmpNat1(Zero, ywz50000) → LT
new_lt20(ywz5010, ywz4010, app(app(ty_Either, bbg), bbh)) → new_lt4(ywz5010, ywz4010, bbg, bbh)
new_compare23(ywz500, ywz400, False, bf, bg) → new_compare110(ywz500, ywz400, new_ltEs10(ywz500, ywz400, bf, bg), bf, bg)
new_ltEs5(ywz5011, ywz4011, app(ty_[], eh)) → new_ltEs16(ywz5011, ywz4011, eh)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_ltEs20(ywz5012, ywz4012, ty_Bool) → new_ltEs11(ywz5012, ywz4012)
new_ltEs10(Right(ywz5010), Right(ywz4010), gf, ty_Int) → new_ltEs7(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, app(app(app(ty_@3, bga), bgb), bgc)) → new_esEs6(ywz5000, ywz4000, bga, bgb, bgc)
new_ltEs6(EQ, EQ) → True
new_compare12(ywz126, ywz127, ywz128, ywz129, True, gh, ha) → LT
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, baf), bag)) → new_esEs7(ywz5001, ywz4001, baf, bag)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_compare13(ywz126, ywz127, ywz128, ywz129, True, ywz131, gh, ha) → new_compare12(ywz126, ywz127, ywz128, ywz129, True, gh, ha)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, ccb), ccc)) → new_esEs5(ywz5000, ywz4000, ccb, ccc)
new_lt14(ywz50, ywz40, bc, bd) → new_esEs8(new_compare15(ywz50, ywz40, bc, bd), LT)
new_esEs32(ywz500, ywz400, ty_@0) → new_esEs11(ywz500, ywz400)
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_esEs8(EQ, EQ) → True
new_ltEs8(Just(ywz5010), Just(ywz4010), app(app(ty_Either, cdg), cdh)) → new_ltEs10(ywz5010, ywz4010, cdg, cdh)
new_primPlusNat1(Zero, ywz400100) → Succ(ywz400100)
new_lt7(ywz5010, ywz4010, ty_Float) → new_lt12(ywz5010, ywz4010)
new_ltEs5(ywz5011, ywz4011, app(app(app(ty_@3, ec), ed), ee)) → new_ltEs13(ywz5011, ywz4011, ec, ed, ee)
new_lt20(ywz5010, ywz4010, ty_@0) → new_lt10(ywz5010, ywz4010)
new_ltEs6(GT, GT) → True
new_lt7(ywz5010, ywz4010, ty_Char) → new_lt15(ywz5010, ywz4010)
new_esEs22(ywz5010, ywz4010, ty_Float) → new_esEs13(ywz5010, ywz4010)
new_esEs32(ywz500, ywz400, app(ty_[], fg)) → new_esEs16(ywz500, ywz400, fg)
new_compare24(ywz50, ywz40, True, bc, bd) → EQ
new_lt13(ywz500, ywz400) → new_esEs8(new_compare17(ywz500, ywz400), LT)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_esEs26(ywz5002, ywz4002, ty_@0) → new_esEs11(ywz5002, ywz4002)
new_lt20(ywz5010, ywz4010, ty_Int) → new_lt8(ywz5010, ywz4010)
new_esEs23(ywz5011, ywz4011, ty_Integer) → new_esEs14(ywz5011, ywz4011)
new_compare32(ywz5000, ywz4000, ty_Integer) → new_compare17(ywz5000, ywz4000)
new_lt20(ywz5010, ywz4010, ty_Integer) → new_lt13(ywz5010, ywz4010)
new_esEs22(ywz5010, ywz4010, app(ty_Maybe, bbf)) → new_esEs4(ywz5010, ywz4010, bbf)
new_compare5(:(ywz5000, ywz5001), [], fg) → GT
new_esEs25(ywz5001, ywz4001, app(ty_Maybe, bgg)) → new_esEs4(ywz5001, ywz4001, bgg)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_esEs9(ywz5010, ywz4010, app(app(ty_@2, dd), de)) → new_esEs7(ywz5010, ywz4010, dd, de)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_ltEs11(True, False) → False
new_esEs5(Left(ywz5000), Left(ywz4000), ty_@0, bg) → new_esEs11(ywz5000, ywz4000)
new_compare14(ywz500, ywz400, False, fc) → GT
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(app(ty_Either, dbf), dbg)) → new_esEs5(ywz5000, ywz4000, dbf, dbg)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs10(Right(ywz5010), Right(ywz4010), gf, app(app(app(ty_@3, cge), cgf), cgg)) → new_ltEs13(ywz5010, ywz4010, cge, cgf, cgg)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Char, bg) → new_esEs15(ywz5000, ywz4000)
new_esEs33(ywz501, ywz401, app(ty_Ratio, fh)) → new_esEs18(ywz501, ywz401, fh)
new_esEs24(ywz5000, ywz4000, app(ty_Ratio, bfd)) → new_esEs18(ywz5000, ywz4000, bfd)
new_esEs19(ywz500, ywz400, app(app(app(ty_@3, bh), ca), cb)) → new_esEs6(ywz500, ywz400, bh, ca, cb)
new_lt21(ywz5011, ywz4011, ty_Int) → new_lt8(ywz5011, ywz4011)
new_lt21(ywz5011, ywz4011, ty_Integer) → new_lt13(ywz5011, ywz4011)
new_compare5(:(ywz5000, ywz5001), :(ywz4000, ywz4001), fg) → new_primCompAux0(ywz5000, ywz4000, new_compare5(ywz5001, ywz4001, fg), fg)
new_esEs22(ywz5010, ywz4010, ty_Bool) → new_esEs12(ywz5010, ywz4010)
new_esEs29(ywz5001, ywz4001, ty_Int) → new_esEs10(ywz5001, ywz4001)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs10(ywz5000, ywz4000)
new_primCompAux00(ywz279, LT) → LT
new_ltEs10(Left(ywz5010), Left(ywz4010), app(ty_Ratio, cga), gg) → new_ltEs18(ywz5010, ywz4010, cga)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Float) → new_ltEs12(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_ltEs8(Just(ywz5010), Nothing, ga) → False
new_ltEs10(Right(ywz5010), Right(ywz4010), gf, app(app(ty_Either, cgc), cgd)) → new_ltEs10(ywz5010, ywz4010, cgc, cgd)
new_esEs22(ywz5010, ywz4010, ty_Char) → new_esEs15(ywz5010, ywz4010)
new_compare27(ywz500, ywz400) → new_compare28(ywz500, ywz400, new_esEs12(ywz500, ywz400))
new_lt21(ywz5011, ywz4011, app(ty_Maybe, bch)) → new_lt9(ywz5011, ywz4011, bch)
new_compare32(ywz5000, ywz4000, app(ty_Ratio, cbb)) → new_compare19(ywz5000, ywz4000, cbb)
new_ltEs5(ywz5011, ywz4011, ty_@0) → new_ltEs9(ywz5011, ywz4011)
new_esEs8(LT, EQ) → False
new_esEs8(EQ, LT) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primPlusNat0(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_primPlusNat0(Succ(ywz21700), Zero) → Succ(ywz21700)
new_esEs22(ywz5010, ywz4010, ty_Integer) → new_esEs14(ywz5010, ywz4010)
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bh, ca, cb) → new_asAs(new_esEs24(ywz5000, ywz4000, bh), new_asAs(new_esEs25(ywz5001, ywz4001, ca), new_esEs26(ywz5002, ywz4002, cb)))
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, cdd), cde)) → new_esEs5(ywz5000, ywz4000, cdd, cde)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bab), bac)) → new_esEs5(ywz5000, ywz4000, bab, bac)
new_esEs23(ywz5011, ywz4011, ty_Float) → new_esEs13(ywz5011, ywz4011)
new_ltEs10(Right(ywz5010), Right(ywz4010), gf, ty_Integer) → new_ltEs14(ywz5010, ywz4010)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Float, bg) → new_esEs13(ywz5000, ywz4000)
new_lt7(ywz5010, ywz4010, app(app(ty_@2, dd), de)) → new_lt14(ywz5010, ywz4010, dd, de)
new_sr0(Integer(ywz40000), Integer(ywz50010)) → Integer(new_primMulInt(ywz40000, ywz50010))
new_esEs32(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_esEs5(Left(ywz5000), Left(ywz4000), app(ty_Ratio, chd), bg) → new_esEs18(ywz5000, ywz4000, chd)
new_esEs25(ywz5001, ywz4001, ty_Int) → new_esEs10(ywz5001, ywz4001)
new_esEs32(ywz500, ywz400, app(app(ty_Either, bf), bg)) → new_esEs5(ywz500, ywz400, bf, bg)
new_lt19(ywz500, ywz400, app(app(app(ty_@3, bh), ca), cb)) → new_lt5(ywz500, ywz400, bh, ca, cb)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Ordering) → new_ltEs6(ywz5010, ywz4010)
new_esEs9(ywz5010, ywz4010, app(app(ty_Either, cf), cg)) → new_esEs5(ywz5010, ywz4010, cf, cg)
new_primCmpNat2(Zero, Succ(ywz400000)) → LT
new_esEs33(ywz501, ywz401, ty_Integer) → new_esEs14(ywz501, ywz401)
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_esEs26(ywz5002, ywz4002, ty_Int) → new_esEs10(ywz5002, ywz4002)
new_primCompAux00(ywz279, EQ) → ywz279
new_esEs23(ywz5011, ywz4011, ty_Double) → new_esEs17(ywz5011, ywz4011)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, cbd), cbe)) → new_esEs7(ywz5000, ywz4000, cbd, cbe)
new_lt7(ywz5010, ywz4010, app(ty_Maybe, ce)) → new_lt9(ywz5010, ywz4010, ce)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Double, bg) → new_esEs17(ywz5000, ywz4000)
new_ltEs5(ywz5011, ywz4011, ty_Double) → new_ltEs17(ywz5011, ywz4011)
new_esEs8(EQ, GT) → False
new_esEs8(GT, EQ) → False
new_ltEs19(ywz501, ywz401, app(app(app(ty_@3, gc), gd), ge)) → new_ltEs13(ywz501, ywz401, gc, gd, ge)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_lt21(ywz5011, ywz4011, ty_@0) → new_lt10(ywz5011, ywz4011)
new_lt15(ywz500, ywz400) → new_esEs8(new_compare31(ywz500, ywz400), LT)
new_compare26(ywz500, ywz400, True, fc) → EQ
new_esEs9(ywz5010, ywz4010, ty_Ordering) → new_esEs8(ywz5010, ywz4010)
new_ltEs10(Left(ywz5010), Left(ywz4010), app(app(ty_@2, cff), cfg), gg) → new_ltEs4(ywz5010, ywz4010, cff, cfg)
new_compare9(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_ltEs13(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), gc, gd, ge) → new_pePe(new_lt20(ywz5010, ywz4010, gc), new_asAs(new_esEs22(ywz5010, ywz4010, gc), new_pePe(new_lt21(ywz5011, ywz4011, gd), new_asAs(new_esEs23(ywz5011, ywz4011, gd), new_ltEs20(ywz5012, ywz4012, ge)))))
new_not(False) → True
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs11(ywz5000, ywz4000)
new_ltEs18(ywz501, ywz401, fh) → new_not(new_esEs8(new_compare19(ywz501, ywz401, fh), GT))
new_esEs19(ywz500, ywz400, app(app(ty_@2, fd), ff)) → new_esEs7(ywz500, ywz400, fd, ff)
new_esEs26(ywz5002, ywz4002, app(ty_Ratio, bhh)) → new_esEs18(ywz5002, ywz4002, bhh)
new_ltEs5(ywz5011, ywz4011, ty_Integer) → new_ltEs14(ywz5011, ywz4011)
new_esEs32(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Char, gg) → new_ltEs15(ywz5010, ywz4010)
new_lt19(ywz500, ywz400, ty_Bool) → new_lt11(ywz500, ywz400)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt12(ywz500, ywz400) → new_esEs8(new_compare9(ywz500, ywz400), LT)
new_esEs19(ywz500, ywz400, ty_Double) → new_esEs17(ywz500, ywz400)
new_ltEs8(Just(ywz5010), Just(ywz4010), app(ty_[], cef)) → new_ltEs16(ywz5010, ywz4010, cef)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Double, gg) → new_ltEs17(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_ltEs11(False, False) → True
new_ltEs5(ywz5011, ywz4011, ty_Float) → new_ltEs12(ywz5011, ywz4011)
new_compare7(ywz500, ywz400, bh, ca, cb) → new_compare25(ywz500, ywz400, new_esEs6(ywz500, ywz400, bh, ca, cb), bh, ca, cb)
new_compare28(ywz500, ywz400, True) → EQ
new_esEs26(ywz5002, ywz4002, app(app(ty_Either, cah), cba)) → new_esEs5(ywz5002, ywz4002, cah, cba)
new_lt19(ywz500, ywz400, app(ty_Ratio, fb)) → new_lt18(ywz500, ywz400, fb)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Char) → new_ltEs15(ywz5010, ywz4010)
new_compare32(ywz5000, ywz4000, app(ty_Maybe, cbc)) → new_compare18(ywz5000, ywz4000, cbc)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_lt21(ywz5011, ywz4011, app(app(ty_@2, bdf), bdg)) → new_lt14(ywz5011, ywz4011, bdf, bdg)
new_esEs22(ywz5010, ywz4010, app(ty_[], bcf)) → new_esEs16(ywz5010, ywz4010, bcf)
new_esEs33(ywz501, ywz401, app(app(ty_@2, cc), cd)) → new_esEs7(ywz501, ywz401, cc, cd)
new_ltEs19(ywz501, ywz401, app(ty_[], gb)) → new_ltEs16(ywz501, ywz401, gb)
new_compare32(ywz5000, ywz4000, ty_Ordering) → new_compare8(ywz5000, ywz4000)
new_lt7(ywz5010, ywz4010, app(app(ty_Either, cf), cg)) → new_lt4(ywz5010, ywz4010, cf, cg)
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs29(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_lt19(ywz500, ywz400, app(app(ty_@2, fd), ff)) → new_lt14(ywz500, ywz400, fd, ff)
new_ltEs10(Right(ywz5010), Right(ywz4010), gf, ty_Double) → new_ltEs17(ywz5010, ywz4010)
new_esEs9(ywz5010, ywz4010, app(ty_Ratio, dg)) → new_esEs18(ywz5010, ywz4010, dg)
new_esEs22(ywz5010, ywz4010, ty_Int) → new_esEs10(ywz5010, ywz4010)
new_esEs33(ywz501, ywz401, ty_Ordering) → new_esEs8(ywz501, ywz401)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(ty_[], dbb)) → new_esEs16(ywz5000, ywz4000, dbb)
new_esEs5(Left(ywz5000), Right(ywz4000), bf, bg) → False
new_esEs5(Right(ywz5000), Left(ywz4000), bf, bg) → False
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_ltEs19(ywz501, ywz401, app(ty_Maybe, ga)) → new_ltEs8(ywz501, ywz401, ga)
new_primCmpNat2(Zero, Zero) → EQ
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_primEqNat0(Succ(ywz50000), Zero) → False
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Integer) → new_ltEs14(ywz5010, ywz4010)
new_primPlusNat0(Zero, Zero) → Zero
new_esEs26(ywz5002, ywz4002, app(app(ty_@2, cab), cac)) → new_esEs7(ywz5002, ywz4002, cab, cac)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_ltEs6(LT, LT) → True
new_compare28(ywz500, ywz400, False) → new_compare11(ywz500, ywz400, new_ltEs11(ywz500, ywz400))
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Integer, bg) → new_esEs14(ywz5000, ywz4000)
new_ltEs20(ywz5012, ywz4012, ty_Char) → new_ltEs15(ywz5012, ywz4012)
new_ltEs6(EQ, LT) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs23(ywz5011, ywz4011, app(ty_Ratio, bea)) → new_esEs18(ywz5011, ywz4011, bea)
new_esEs4(Nothing, Nothing, fc) → True
new_ltEs20(ywz5012, ywz4012, ty_Int) → new_ltEs7(ywz5012, ywz4012)
new_lt19(ywz500, ywz400, ty_Double) → new_lt17(ywz500, ywz400)
new_primCmpNat2(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat2(ywz500000, ywz400000)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat0(ywz50000, ywz4000)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, cbg), cbh), cca)) → new_esEs6(ywz5000, ywz4000, cbg, cbh, cca)
new_compare32(ywz5000, ywz4000, ty_Char) → new_compare31(ywz5000, ywz4000)
new_ltEs10(Right(ywz5010), Right(ywz4010), gf, app(ty_[], chb)) → new_ltEs16(ywz5010, ywz4010, chb)
new_esEs11(@0, @0) → True
new_esEs33(ywz501, ywz401, ty_Int) → new_esEs10(ywz501, ywz401)
new_esEs25(ywz5001, ywz4001, ty_@0) → new_esEs11(ywz5001, ywz4001)
new_compare210(ywz500, ywz400, True) → EQ
new_compare32(ywz5000, ywz4000, ty_@0) → new_compare29(ywz5000, ywz4000)
new_esEs16(:(ywz5000, ywz5001), [], fg) → False
new_esEs16([], :(ywz4000, ywz4001), fg) → False
new_primCmpNat0(ywz50000, Zero) → GT
new_compare30(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, cbc)) → new_esEs4(ywz5000, ywz4000, cbc)
new_ltEs20(ywz5012, ywz4012, ty_Double) → new_ltEs17(ywz5012, ywz4012)
new_ltEs20(ywz5012, ywz4012, app(app(ty_Either, bec), bed)) → new_ltEs10(ywz5012, ywz4012, bec, bed)
new_primPlusNat1(Succ(ywz2170), ywz400100) → Succ(Succ(new_primPlusNat0(ywz2170, ywz400100)))
new_compare16(ywz500, ywz400, True, bh, ca, cb) → LT
new_compare13(ywz126, ywz127, ywz128, ywz129, False, ywz131, gh, ha) → new_compare12(ywz126, ywz127, ywz128, ywz129, ywz131, gh, ha)
new_compare32(ywz5000, ywz4000, ty_Int) → new_compare10(ywz5000, ywz4000)
new_compare23(ywz500, ywz400, True, bf, bg) → EQ
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare8(ywz500, ywz400) → new_compare210(ywz500, ywz400, new_esEs8(ywz500, ywz400))
new_esEs32(ywz500, ywz400, ty_Float) → new_esEs13(ywz500, ywz400)
new_lt8(ywz500, ywz400) → new_esEs8(new_compare10(ywz500, ywz400), LT)
new_esEs25(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_lt7(ywz5010, ywz4010, ty_Ordering) → new_lt6(ywz5010, ywz4010)
new_lt20(ywz5010, ywz4010, app(ty_Maybe, bbf)) → new_lt9(ywz5010, ywz4010, bbf)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], cch)) → new_esEs16(ywz5000, ywz4000, cch)
new_ltEs20(ywz5012, ywz4012, app(app(app(ty_@3, bee), bef), beg)) → new_ltEs13(ywz5012, ywz4012, bee, bef, beg)
new_lt7(ywz5010, ywz4010, ty_Integer) → new_lt13(ywz5010, ywz4010)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, hb)) → new_esEs18(ywz5000, ywz4000, hb)
new_compare5([], :(ywz4000, ywz4001), fg) → LT
new_lt19(ywz500, ywz400, app(app(ty_Either, bf), bg)) → new_lt4(ywz500, ywz400, bf, bg)
new_ltEs20(ywz5012, ywz4012, app(ty_[], bfb)) → new_ltEs16(ywz5012, ywz4012, bfb)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bae)) → new_esEs4(ywz5001, ywz4001, bae)
new_ltEs10(Right(ywz5010), Right(ywz4010), gf, ty_Bool) → new_ltEs11(ywz5010, ywz4010)
new_ltEs9(ywz501, ywz401) → new_not(new_esEs8(new_compare29(ywz501, ywz401), GT))
new_lt20(ywz5010, ywz4010, app(ty_[], bcf)) → new_lt16(ywz5010, ywz4010, bcf)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Int, bg) → new_esEs10(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), app(app(ty_@2, chf), chg), bg) → new_esEs7(ywz5000, ywz4000, chf, chg)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs13(ywz5001, ywz4001)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs25(ywz5001, ywz4001, ty_Bool) → new_esEs12(ywz5001, ywz4001)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_ltEs12(ywz501, ywz401) → new_not(new_esEs8(new_compare9(ywz501, ywz401), GT))
new_ltEs8(Just(ywz5010), Just(ywz4010), app(ty_Maybe, cdf)) → new_ltEs8(ywz5010, ywz4010, cdf)
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_compare19(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare10(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_esEs20(ywz5000, ywz4000, app(ty_[], hf)) → new_esEs16(ywz5000, ywz4000, hf)
new_asAs(False, ywz117) → False
new_ltEs11(True, True) → True
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_lt5(ywz500, ywz400, bh, ca, cb) → new_esEs8(new_compare7(ywz500, ywz400, bh, ca, cb), LT)
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_lt19(ywz500, ywz400, ty_Float) → new_lt12(ywz500, ywz400)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bbd), bbe)) → new_esEs5(ywz5001, ywz4001, bbd, bbe)
new_esEs23(ywz5011, ywz4011, app(app(app(ty_@3, bdc), bdd), bde)) → new_esEs6(ywz5011, ywz4011, bdc, bdd, bde)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5010, ywz4010, app(ty_Maybe, ce)) → new_esEs4(ywz5010, ywz4010, ce)
new_ltEs8(Just(ywz5010), Just(ywz4010), app(app(ty_@2, ced), cee)) → new_ltEs4(ywz5010, ywz4010, ced, cee)
new_compare17(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, daa), dab), dac), bg) → new_esEs6(ywz5000, ywz4000, daa, dab, dac)
new_esEs9(ywz5010, ywz4010, ty_Bool) → new_esEs12(ywz5010, ywz4010)
new_esEs16(:(ywz5000, ywz5001), :(ywz4000, ywz4001), fg) → new_asAs(new_esEs27(ywz5000, ywz4000, fg), new_esEs16(ywz5001, ywz4001, fg))
new_esEs24(ywz5000, ywz4000, app(ty_[], bfh)) → new_esEs16(ywz5000, ywz4000, bfh)
new_esEs23(ywz5011, ywz4011, app(app(ty_@2, bdf), bdg)) → new_esEs7(ywz5011, ywz4011, bdf, bdg)
new_esEs32(ywz500, ywz400, ty_Int) → new_esEs10(ywz500, ywz400)
new_esEs33(ywz501, ywz401, ty_Char) → new_esEs15(ywz501, ywz401)
new_primCmpNat1(Succ(ywz40000), ywz50000) → new_primCmpNat2(ywz40000, ywz50000)
new_compare32(ywz5000, ywz4000, ty_Double) → new_compare30(ywz5000, ywz4000)
new_primCmpNat2(Succ(ywz500000), Zero) → GT
new_compare32(ywz5000, ywz4000, app(app(ty_Either, ccb), ccc)) → new_compare6(ywz5000, ywz4000, ccb, ccc)
new_compare14(ywz500, ywz400, True, fc) → LT
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs25(ywz5001, ywz4001, app(app(app(ty_@3, bhc), bhd), bhe)) → new_esEs6(ywz5001, ywz4001, bhc, bhd, bhe)
new_esEs24(ywz5000, ywz4000, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_lt20(ywz5010, ywz4010, app(ty_Ratio, bcg)) → new_lt18(ywz5010, ywz4010, bcg)
new_ltEs6(LT, GT) → True
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs12(False, True) → False
new_esEs12(True, False) → False
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs33(ywz501, ywz401, ty_@0) → new_esEs11(ywz501, ywz401)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_compare24(@2(ywz500, ywz501), @2(ywz400, ywz401), False, bc, bd) → new_compare13(ywz500, ywz501, ywz400, ywz401, new_lt19(ywz500, ywz400, bc), new_asAs(new_esEs19(ywz500, ywz400, bc), new_ltEs19(ywz501, ywz401, bd)), bc, bd)
new_esEs32(ywz500, ywz400, app(app(app(ty_@3, bh), ca), cb)) → new_esEs6(ywz500, ywz400, bh, ca, cb)
new_lt19(ywz500, ywz400, ty_Integer) → new_lt13(ywz500, ywz400)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(ty_Maybe, dag)) → new_esEs4(ywz5000, ywz4000, dag)
new_compare10(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Int, gg) → new_ltEs7(ywz5010, ywz4010)
new_esEs25(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs19(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_esEs16([], [], fg) → True
new_compare11(ywz500, ywz400, False) → GT
new_ltEs8(Nothing, Nothing, ga) → True
new_compare15(ywz50, ywz40, bc, bd) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, bc, bd), bc, bd)
new_ltEs10(Right(ywz5010), Left(ywz4010), gf, gg) → False
new_compare11(ywz500, ywz400, True) → LT
new_esEs5(Left(ywz5000), Left(ywz4000), app(app(ty_Either, dad), dae), bg) → new_esEs5(ywz5000, ywz4000, dad, dae)
new_lt21(ywz5011, ywz4011, ty_Char) → new_lt15(ywz5011, ywz4011)
new_ltEs10(Right(ywz5010), Right(ywz4010), gf, ty_Char) → new_ltEs15(ywz5010, ywz4010)
new_lt21(ywz5011, ywz4011, ty_Double) → new_lt17(ywz5011, ywz4011)
new_esEs33(ywz501, ywz401, app(app(ty_Either, gf), gg)) → new_esEs5(ywz501, ywz401, gf, gg)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Bool) → new_ltEs11(ywz5010, ywz4010)
new_esEs32(ywz500, ywz400, app(ty_Ratio, fb)) → new_esEs18(ywz500, ywz400, fb)
new_ltEs14(ywz501, ywz401) → new_not(new_esEs8(new_compare17(ywz501, ywz401), GT))
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, ccf), ccg)) → new_esEs7(ywz5000, ywz4000, ccf, ccg)
new_lt21(ywz5011, ywz4011, ty_Float) → new_lt12(ywz5011, ywz4011)
new_compare18(ywz500, ywz400, fc) → new_compare26(ywz500, ywz400, new_esEs4(ywz500, ywz400, fc), fc)
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_lt9(ywz500, ywz400, fc) → new_esEs8(new_compare18(ywz500, ywz400, fc), LT)
new_lt19(ywz500, ywz400, ty_@0) → new_lt10(ywz500, ywz400)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, hd), he)) → new_esEs7(ywz5000, ywz4000, hd, he)
new_lt20(ywz5010, ywz4010, app(app(app(ty_@3, bca), bcb), bcc)) → new_lt5(ywz5010, ywz4010, bca, bcb, bcc)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(app(ty_@2, dah), dba)) → new_esEs7(ywz5000, ywz4000, dah, dba)
new_primPlusNat0(Succ(ywz21700), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat0(ywz21700, ywz4001000)))
new_esEs23(ywz5011, ywz4011, app(ty_[], bdh)) → new_esEs16(ywz5011, ywz4011, bdh)
new_lt4(ywz500, ywz400, bf, bg) → new_esEs8(new_compare6(ywz500, ywz400, bf, bg), LT)
new_esEs9(ywz5010, ywz4010, app(app(app(ty_@3, da), db), dc)) → new_esEs6(ywz5010, ywz4010, da, db, dc)
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs11(ywz5001, ywz4001)
new_compare31(Char(ywz5000), Char(ywz4000)) → new_primCmpNat2(ywz5000, ywz4000)
new_esEs19(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_ltEs6(LT, EQ) → True
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bba), bbb), bbc)) → new_esEs6(ywz5001, ywz4001, bba, bbb, bbc)
new_ltEs6(GT, LT) → False
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_asAs(True, ywz117) → ywz117
new_esEs19(ywz500, ywz400, ty_@0) → new_esEs11(ywz500, ywz400)
new_ltEs19(ywz501, ywz401, ty_Float) → new_ltEs12(ywz501, ywz401)
new_ltEs19(ywz501, ywz401, ty_@0) → new_ltEs9(ywz501, ywz401)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_esEs33(ywz501, ywz401, ty_Bool) → new_esEs12(ywz501, ywz401)
new_esEs23(ywz5011, ywz4011, ty_Int) → new_esEs10(ywz5011, ywz4011)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs10(ywz5001, ywz4001)
new_lt20(ywz5010, ywz4010, ty_Char) → new_lt15(ywz5010, ywz4010)
new_esEs33(ywz501, ywz401, app(ty_Maybe, ga)) → new_esEs4(ywz501, ywz401, ga)
new_esEs24(ywz5000, ywz4000, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_ltEs17(ywz501, ywz401) → new_not(new_esEs8(new_compare30(ywz501, ywz401), GT))
new_esEs19(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_ltEs5(ywz5011, ywz4011, ty_Ordering) → new_ltEs6(ywz5011, ywz4011)
new_compare5([], [], fg) → EQ
new_ltEs10(Right(ywz5010), Right(ywz4010), gf, ty_Ordering) → new_ltEs6(ywz5010, ywz4010)
new_ltEs20(ywz5012, ywz4012, ty_@0) → new_ltEs9(ywz5012, ywz4012)
new_ltEs20(ywz5012, ywz4012, ty_Ordering) → new_ltEs6(ywz5012, ywz4012)
new_lt17(ywz500, ywz400) → new_esEs8(new_compare30(ywz500, ywz400), LT)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs12(ywz5001, ywz4001)
new_esEs22(ywz5010, ywz4010, app(app(ty_Either, bbg), bbh)) → new_esEs5(ywz5010, ywz4010, bbg, bbh)
new_ltEs5(ywz5011, ywz4011, ty_Bool) → new_ltEs11(ywz5011, ywz4011)
new_esEs10(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_primCompAux00(ywz279, GT) → GT
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Integer, gg) → new_ltEs14(ywz5010, ywz4010)
new_ltEs10(Right(ywz5010), Right(ywz4010), gf, ty_@0) → new_ltEs9(ywz5010, ywz4010)
new_compare19(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare17(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_esEs21(ywz5001, ywz4001, app(ty_[], bah)) → new_esEs16(ywz5001, ywz4001, bah)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_lt7(ywz5010, ywz4010, ty_@0) → new_lt10(ywz5010, ywz4010)
new_lt19(ywz500, ywz400, ty_Char) → new_lt15(ywz500, ywz400)
new_ltEs10(Right(ywz5010), Right(ywz4010), gf, app(ty_Ratio, chc)) → new_ltEs18(ywz5010, ywz4010, chc)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_ltEs19(ywz501, ywz401, ty_Bool) → new_ltEs11(ywz501, ywz401)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bad)) → new_esEs18(ywz5001, ywz4001, bad)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_ltEs19(x0, x1, ty_Double)
new_sr(x0, x1)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs10(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpNat1(Succ(x0), x1)
new_esEs20(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs33(x0, x1, app(ty_Maybe, x2))
new_esEs4(Nothing, Just(x0), x1)
new_esEs9(x0, x1, app(ty_[], x2))
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(x0, x1)
new_compare32(x0, x1, ty_Int)
new_compare12(x0, x1, x2, x3, False, x4, x5)
new_lt9(x0, x1, x2)
new_esEs26(x0, x1, ty_Ordering)
new_ltEs10(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs10(Right(x0), Right(x1), x2, ty_Integer)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs21(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Int)
new_lt10(x0, x1)
new_primPlusNat1(Succ(x0), x1)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_Maybe, x2))
new_lt19(x0, x1, app(ty_Ratio, x2))
new_compare7(x0, x1, x2, x3, x4)
new_compare32(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Char)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_primCompAux00(x0, EQ)
new_esEs12(False, False)
new_lt19(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Bool)
new_esEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs10(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_primMulNat0(Succ(x0), Zero)
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat0(Zero, Succ(x0))
new_esEs33(x0, x1, ty_Integer)
new_compare13(x0, x1, x2, x3, True, x4, x5, x6)
new_ltEs5(x0, x1, ty_@0)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_esEs16([], :(x0, x1), x2)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs11(@0, @0)
new_lt20(x0, x1, ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_compare6(x0, x1, x2, x3)
new_esEs20(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs8(GT, GT)
new_lt20(x0, x1, ty_Bool)
new_esEs19(x0, x1, ty_Char)
new_ltEs16(x0, x1, x2)
new_esEs32(x0, x1, ty_Double)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs8(Nothing, Nothing, x0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare32(x0, x1, ty_Float)
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs8(LT, LT)
new_lt16(x0, x1, x2)
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(Left(x0), Left(x1), ty_Double, x2)
new_primEqNat0(Succ(x0), Succ(x1))
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat0(x0, Zero)
new_ltEs10(Left(x0), Left(x1), ty_Double, x2)
new_compare110(x0, x1, False, x2, x3)
new_esEs19(x0, x1, ty_Float)
new_ltEs20(x0, x1, ty_Int)
new_lt21(x0, x1, app(ty_Maybe, x2))
new_esEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs27(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Bool)
new_esEs10(x0, x1)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_ltEs9(x0, x1)
new_ltEs6(EQ, EQ)
new_esEs16(:(x0, x1), [], x2)
new_esEs33(x0, x1, ty_Char)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Integer)
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_esEs28(x0, x1, ty_Int)
new_lt21(x0, x1, ty_Bool)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_primCompAux00(x0, LT)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs4(Just(x0), Just(x1), ty_@0)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, app(ty_[], x2))
new_ltEs6(LT, EQ)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(EQ, LT)
new_compare29(@0, @0)
new_ltEs20(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs5(Right(x0), Right(x1), x2, ty_Int)
new_compare32(x0, x1, ty_Double)
new_compare26(x0, x1, True, x2)
new_primEqNat0(Zero, Zero)
new_esEs22(x0, x1, ty_Float)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_compare16(x0, x1, True, x2, x3, x4)
new_lt19(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_esEs23(x0, x1, ty_Char)
new_ltEs10(Left(x0), Left(x1), ty_Float, x2)
new_compare30(Double(x0, x1), Double(x2, x3))
new_compare24(x0, x1, True, x2, x3)
new_esEs4(Just(x0), Nothing, x1)
new_esEs29(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Bool)
new_ltEs8(Nothing, Just(x0), x1)
new_primMulNat0(Zero, Zero)
new_ltEs5(x0, x1, ty_Int)
new_lt7(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_lt7(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt21(x0, x1, ty_Int)
new_ltEs10(Right(x0), Left(x1), x2, x3)
new_ltEs10(Left(x0), Right(x1), x2, x3)
new_compare16(x0, x1, False, x2, x3, x4)
new_lt20(x0, x1, ty_Ordering)
new_esEs5(Right(x0), Right(x1), x2, ty_Char)
new_ltEs20(x0, x1, ty_Ordering)
new_ltEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt21(x0, x1, app(ty_[], x2))
new_compare32(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Integer)
new_lt21(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs33(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs19(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Integer)
new_ltEs10(Left(x0), Left(x1), ty_Int, x2)
new_compare28(x0, x1, True)
new_esEs33(x0, x1, ty_Ordering)
new_compare5([], :(x0, x1), x2)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs5(Right(x0), Right(x1), x2, ty_Integer)
new_esEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_lt21(x0, x1, ty_Char)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_lt7(x0, x1, ty_@0)
new_esEs32(x0, x1, ty_Char)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs33(x0, x1, app(ty_[], x2))
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt17(x0, x1)
new_esEs24(x0, x1, ty_Double)
new_esEs33(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Double)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare32(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Bool)
new_ltEs10(Right(x0), Right(x1), x2, ty_Char)
new_esEs28(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Double)
new_compare24(@2(x0, x1), @2(x2, x3), False, x4, x5)
new_ltEs10(Right(x0), Right(x1), x2, ty_Float)
new_esEs22(x0, x1, ty_Double)
new_esEs20(x0, x1, ty_@0)
new_esEs23(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_@0)
new_compare111(x0, x1, True)
new_ltEs19(x0, x1, ty_Char)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, ty_Integer)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, ty_Integer)
new_esEs5(Right(x0), Right(x1), x2, ty_Double)
new_lt7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(Left(x0), Left(x1), ty_Integer, x2)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1, ty_@0)
new_esEs24(x0, x1, ty_Float)
new_lt19(x0, x1, app(ty_[], x2))
new_primCmpNat1(Zero, x0)
new_primCmpNat2(Zero, Zero)
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1, ty_Bool)
new_primPlusNat0(Zero, Zero)
new_esEs33(x0, x1, ty_@0)
new_compare23(x0, x1, True, x2, x3)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs22(x0, x1, ty_Ordering)
new_esEs21(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_compare17(Integer(x0), Integer(x1))
new_compare111(x0, x1, False)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare23(x0, x1, False, x2, x3)
new_compare5([], [], x0)
new_compare32(x0, x1, ty_Bool)
new_lt7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare15(x0, x1, x2, x3)
new_esEs32(x0, x1, ty_Float)
new_compare32(x0, x1, ty_Ordering)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_compare32(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Int)
new_ltEs10(Left(x0), Left(x1), ty_Char, x2)
new_compare8(x0, x1)
new_esEs25(x0, x1, ty_Integer)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, ty_Ordering)
new_lt21(x0, x1, ty_Double)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare32(x0, x1, ty_@0)
new_lt21(x0, x1, ty_Ordering)
new_esEs5(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs10(Left(x0), Left(x1), ty_@0, x2)
new_esEs22(x0, x1, ty_@0)
new_primPlusNat1(Zero, x0)
new_esEs25(x0, x1, ty_@0)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_esEs19(x0, x1, app(ty_[], x2))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs8(Just(x0), Nothing, x1)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs5(Right(x0), Right(x1), x2, ty_Bool)
new_primCompAux0(x0, x1, x2, x3)
new_compare25(x0, x1, False, x2, x3, x4)
new_lt7(x0, x1, ty_Bool)
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_esEs5(Right(x0), Left(x1), x2, x3)
new_esEs5(Left(x0), Right(x1), x2, x3)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, ty_Ordering)
new_compare5(:(x0, x1), :(x2, x3), x4)
new_esEs12(True, True)
new_esEs5(Right(x0), Right(x1), x2, ty_Float)
new_ltEs10(Left(x0), Left(x1), ty_Integer, x2)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_@0)
new_esEs18(:%(x0, x1), :%(x2, x3), x4)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs14(Integer(x0), Integer(x1))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs20(x0, x1, ty_Int)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_ltEs11(False, False)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt19(x0, x1, ty_Integer)
new_primCompAux00(x0, GT)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_ltEs10(Right(x0), Right(x1), x2, ty_Bool)
new_esEs24(x0, x1, ty_Char)
new_esEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_compare32(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Zero, Succ(x0))
new_esEs8(EQ, EQ)
new_compare5(:(x0, x1), [], x2)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, x2)
new_esEs33(x0, x1, ty_Int)
new_esEs9(x0, x1, ty_Bool)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_lt21(x0, x1, ty_Float)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_lt7(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Int)
new_ltEs11(False, True)
new_ltEs11(True, False)
new_esEs24(x0, x1, ty_Bool)
new_compare110(x0, x1, True, x2, x3)
new_esEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_esEs19(x0, x1, ty_Double)
new_compare210(x0, x1, False)
new_ltEs10(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs5(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, app(ty_[], x2))
new_sr0(Integer(x0), Integer(x1))
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_lt7(x0, x1, ty_Double)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1, x2, x3)
new_lt7(x0, x1, app(ty_Ratio, x2))
new_esEs5(Left(x0), Left(x1), ty_Char, x2)
new_ltEs5(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Int)
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Ordering)
new_lt8(x0, x1)
new_ltEs10(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, ty_Int)
new_esEs32(x0, x1, app(ty_[], x2))
new_ltEs6(GT, GT)
new_compare28(x0, x1, False)
new_pePe(True, x0)
new_primCmpNat2(Succ(x0), Succ(x1))
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_Ordering)
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_esEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primEqNat0(Succ(x0), Zero)
new_esEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs27(x0, x1, ty_@0)
new_compare11(x0, x1, False)
new_esEs22(x0, x1, ty_Bool)
new_esEs23(x0, x1, ty_Integer)
new_lt19(x0, x1, ty_Int)
new_esEs7(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs20(x0, x1, ty_Float)
new_esEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_pePe(False, x0)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs24(x0, x1, ty_Integer)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs33(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare25(x0, x1, True, x2, x3, x4)
new_lt7(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Float)
new_esEs19(x0, x1, ty_Bool)
new_primCmpNat2(Zero, Succ(x0))
new_esEs23(x0, x1, ty_Bool)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(LT, LT)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs33(x0, x1, ty_Double)
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_compare11(x0, x1, True)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs16([], [], x0)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_ltEs10(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs25(x0, x1, ty_Int)
new_compare210(x0, x1, True)
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Char)
new_ltEs7(x0, x1)
new_lt7(x0, x1, ty_Int)
new_compare32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_asAs(False, x0)
new_esEs23(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_esEs19(x0, x1, ty_Ordering)
new_esEs23(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs10(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs27(x0, x1, ty_Int)
new_compare9(Float(x0, x1), Float(x2, x3))
new_esEs9(x0, x1, ty_Int)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs12(False, True)
new_esEs12(True, False)
new_compare32(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_@0)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(Nothing, Nothing, x0)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_lt19(x0, x1, ty_Double)
new_esEs26(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Double)
new_esEs27(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, ty_Double)
new_lt14(x0, x1, x2, x3)
new_lt20(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_esEs24(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_@0)
new_ltEs5(x0, x1, ty_Bool)
new_not(True)
new_esEs32(x0, x1, ty_Bool)
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, ty_Char)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs20(x0, x1, ty_@0)
new_esEs29(x0, x1, ty_Integer)
new_lt11(x0, x1)
new_esEs21(x0, x1, ty_@0)
new_primCmpNat0(x0, Succ(x1))
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_lt21(x0, x1, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_compare19(:%(x0, x1), :%(x2, x3), ty_Integer)
new_not(False)
new_ltEs5(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_Integer)
new_primCmpNat2(Succ(x0), Zero)
new_esEs32(x0, x1, ty_Int)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs33(x0, x1, ty_Float)
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_ltEs15(x0, x1)
new_esEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs5(Left(x0), Left(x1), ty_Float, x2)
new_lt5(x0, x1, x2, x3, x4)
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Bool)
new_compare19(:%(x0, x1), :%(x2, x3), ty_Int)
new_asAs(True, x0)
new_ltEs14(x0, x1)
new_compare26(x0, x1, False, x2)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs21(x0, x1, ty_Float)
new_ltEs13(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_esEs15(Char(x0), Char(x1))
new_esEs19(x0, x1, ty_Integer)
new_ltEs10(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs19(x0, x1, ty_@0)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_ltEs10(Right(x0), Right(x1), x2, ty_@0)
new_lt20(x0, x1, ty_Float)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_compare14(x0, x1, False, x2)
new_esEs32(x0, x1, ty_@0)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, app(ty_[], x2))
new_compare27(x0, x1)
new_ltEs5(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs26(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Float)
new_ltEs19(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_lt18(x0, x1, x2)
new_lt7(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Double)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_compare18(x0, x1, x2)
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs10(Left(x0), Left(x1), ty_Bool, x2)
new_lt13(x0, x1)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_compare12(x0, x1, x2, x3, True, x4, x5)
new_ltEs17(x0, x1)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Right(x0), Right(x1), x2, ty_@0)
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs33(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Pos(Zero))
new_lt20(x0, x1, ty_Char)
new_esEs25(x0, x1, ty_Float)
new_lt15(x0, x1)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primEqNat0(Zero, Succ(x0))
new_ltEs10(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, ty_Double)
new_esEs13(Float(x0, x1), Float(x2, x3))
new_compare31(Char(x0), Char(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_lt6(x0, x1)
new_esEs33(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, ty_@0)
new_ltEs19(x0, x1, ty_Integer)
new_lt19(x0, x1, ty_Ordering)
new_lt7(x0, x1, app(ty_Maybe, x2))
new_esEs20(x0, x1, ty_Char)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Right(x0), Right(x1), x2, ty_Double)
new_primPlusNat0(Succ(x0), Zero)
new_esEs21(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Bool)
new_lt12(x0, x1)
new_ltEs11(True, True)
new_esEs26(x0, x1, ty_@0)
new_compare13(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(x0, x1)
new_compare14(x0, x1, True, x2)
new_lt7(x0, x1, ty_Ordering)
From the DPs we obtained the following set of size-change graphs:
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
↳ HASKELL
↳ IFR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ NumRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
new_plusFM_CNew_elt0(ywz326, ywz327, ywz328, ywz329, ywz330, ywz331, ywz332, ywz333, ywz334, ywz335, ywz336, ywz337, ywz338, False, h, ba) → new_plusFM_CNew_elt00(ywz326, ywz327, ywz328, ywz329, ywz330, ywz331, ywz332, ywz333, ywz334, ywz335, ywz336, ywz337, ywz338, new_gt0(ywz333, ywz334, ba), h, ba)
new_plusFM_CNew_elt0(ywz326, ywz327, ywz328, ywz329, ywz330, ywz331, ywz332, ywz333, ywz334, ywz335, ywz336, Branch(ywz3370, ywz3371, ywz3372, ywz3373, ywz3374), ywz338, True, h, ba) → new_plusFM_CNew_elt01(ywz326, ywz327, ywz328, ywz329, ywz330, ywz331, ywz332, ywz333, ywz3370, ywz3371, ywz3372, ywz3373, ywz3374, h, ba)
new_plusFM_CNew_elt00(ywz361, ywz362, ywz363, ywz364, ywz365, ywz366, ywz367, ywz368, ywz369, ywz370, ywz371, ywz372, ywz373, True, bb, bc) → new_plusFM_CNew_elt02(ywz361, ywz362, ywz363, ywz364, ywz365, ywz366, ywz367, ywz368, ywz373, bb, bc)
new_plusFM_CNew_elt02(ywz326, ywz327, ywz328, ywz329, ywz330, ywz331, ywz332, ywz333, Branch(ywz3370, ywz3371, ywz3372, ywz3373, ywz3374), h, ba) → new_plusFM_CNew_elt01(ywz326, ywz327, ywz328, ywz329, ywz330, ywz331, ywz332, ywz333, ywz3370, ywz3371, ywz3372, ywz3373, ywz3374, h, ba)
new_plusFM_CNew_elt01(ywz298, ywz299, ywz300, ywz301, ywz302, ywz303, ywz304, ywz305, ywz306, ywz307, ywz308, ywz309, ywz310, bd, be) → new_plusFM_CNew_elt0(ywz298, ywz299, ywz300, ywz301, ywz302, ywz303, ywz304, ywz305, ywz306, ywz307, ywz308, ywz309, ywz310, new_lt22(ywz305, ywz306, be), bd, be)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, ccg)) → new_esEs4(ywz5000, ywz4000, ccg)
new_esEs22(ywz5010, ywz4010, ty_Double) → new_esEs17(ywz5010, ywz4010)
new_primCmpNat0(ywz50000, Succ(ywz40000)) → new_primCmpNat2(ywz50000, ywz40000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, app(app(ty_Either, bgf), bgg)) → new_esEs5(ywz5000, ywz4000, bgf, bgg)
new_lt10(ywz500, ywz400) → new_esEs8(new_compare29(ywz500, ywz400), LT)
new_esEs27(ywz5000, ywz4000, app(ty_[], cbh)) → new_esEs16(ywz5000, ywz4000, cbh)
new_lt7(ywz5010, ywz4010, ty_Double) → new_lt17(ywz5010, ywz4010)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_@0, hc) → new_ltEs9(ywz5010, ywz4010)
new_esEs25(ywz5001, ywz4001, app(ty_[], bhd)) → new_esEs16(ywz5001, ywz4001, bhd)
new_esEs24(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs5(ywz5011, ywz4011, app(app(ty_Either, ea), eb)) → new_ltEs10(ywz5011, ywz4011, ea, eb)
new_gt(ywz50, ywz40, fd, ff) → new_esEs8(new_compare15(ywz50, ywz40, fd, ff), GT)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_ltEs19(ywz501, ywz401, ty_Char) → new_ltEs15(ywz501, ywz401)
new_ltEs10(Left(ywz5010), Right(ywz4010), hb, hc) → True
new_compare110(ywz500, ywz400, True, bf, bg) → LT
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, cbd)) → new_esEs18(ywz5000, ywz4000, cbd)
new_esEs23(ywz5011, ywz4011, app(app(ty_Either, bdc), bdd)) → new_esEs5(ywz5011, ywz4011, bdc, bdd)
new_esEs19(ywz500, ywz400, app(ty_[], gc)) → new_esEs16(ywz500, ywz400, gc)
new_lt7(ywz5010, ywz4010, ty_Bool) → new_lt11(ywz5010, ywz4010)
new_ltEs8(Just(ywz5010), Just(ywz4010), app(app(app(ty_@3, cec), ced), cee)) → new_ltEs13(ywz5010, ywz4010, cec, ced, cee)
new_esEs4(Just(ywz5000), Nothing, fh) → False
new_esEs4(Nothing, Just(ywz4000), fh) → False
new_esEs24(ywz5000, ywz4000, app(ty_Maybe, bfg)) → new_esEs4(ywz5000, ywz4000, bfg)
new_compare16(ywz500, ywz400, False, bh, ca, cb) → GT
new_esEs9(ywz5010, ywz4010, ty_Char) → new_esEs15(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs15(ywz501, ywz401) → new_not(new_esEs8(new_compare31(ywz501, ywz401), GT))
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs13(ywz5000, ywz4000)
new_esEs26(ywz5002, ywz4002, ty_Float) → new_esEs13(ywz5002, ywz4002)
new_primMulNat0(Zero, Zero) → Zero
new_esEs19(ywz500, ywz400, app(ty_Ratio, fg)) → new_esEs18(ywz500, ywz400, fg)
new_lt22(ywz305, ywz306, ty_Bool) → new_lt11(ywz305, ywz306)
new_esEs26(ywz5002, ywz4002, app(ty_[], caf)) → new_esEs16(ywz5002, ywz4002, caf)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Double) → new_ltEs17(ywz5010, ywz4010)
new_primCompAux0(ywz5000, ywz4000, ywz251, gc) → new_primCompAux00(ywz251, new_compare32(ywz5000, ywz4000, gc))
new_ltEs20(ywz5012, ywz4012, ty_Float) → new_ltEs12(ywz5012, ywz4012)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cdc), cdd), cde)) → new_esEs6(ywz5000, ywz4000, cdc, cdd, cde)
new_esEs12(True, True) → True
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, he)) → new_esEs4(ywz5000, ywz4000, he)
new_lt19(ywz500, ywz400, app(ty_Maybe, fh)) → new_lt9(ywz500, ywz400, fh)
new_lt21(ywz5011, ywz4011, ty_Ordering) → new_lt6(ywz5011, ywz4011)
new_compare32(ywz5000, ywz4000, app(app(app(ty_@3, cca), ccb), ccc)) → new_compare7(ywz5000, ywz4000, cca, ccb, ccc)
new_ltEs19(ywz501, ywz401, ty_Integer) → new_ltEs14(ywz501, ywz401)
new_lt22(ywz305, ywz306, ty_Integer) → new_lt13(ywz305, ywz306)
new_ltEs20(ywz5012, ywz4012, app(ty_Maybe, bed)) → new_ltEs8(ywz5012, ywz4012, bed)
new_ltEs5(ywz5011, ywz4011, ty_Char) → new_ltEs15(ywz5011, ywz4011)
new_esEs23(ywz5011, ywz4011, ty_Bool) → new_esEs12(ywz5011, ywz4011)
new_esEs19(ywz500, ywz400, ty_Int) → new_esEs10(ywz500, ywz400)
new_esEs25(ywz5001, ywz4001, app(ty_Ratio, bgh)) → new_esEs18(ywz5001, ywz4001, bgh)
new_lt19(ywz500, ywz400, ty_Ordering) → new_lt6(ywz500, ywz400)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_@0) → new_ltEs9(ywz5010, ywz4010)
new_esEs26(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_gt0(ywz333, ywz334, ty_Ordering) → new_esEs8(new_compare8(ywz333, ywz334), GT)
new_esEs23(ywz5011, ywz4011, app(ty_Maybe, bdb)) → new_esEs4(ywz5011, ywz4011, bdb)
new_gt0(ywz333, ywz334, app(app(ty_Either, cge), cgf)) → new_esEs8(new_compare6(ywz333, ywz334, cge, cgf), GT)
new_lt21(ywz5011, ywz4011, app(ty_[], beb)) → new_lt16(ywz5011, ywz4011, beb)
new_esEs23(ywz5011, ywz4011, ty_Char) → new_esEs15(ywz5011, ywz4011)
new_lt21(ywz5011, ywz4011, ty_Bool) → new_lt11(ywz5011, ywz4011)
new_compare26(ywz500, ywz400, False, fh) → new_compare14(ywz500, ywz400, new_ltEs8(ywz500, ywz400, fh), fh)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Bool, bg) → new_esEs12(ywz5000, ywz4000)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Float, hc) → new_ltEs12(ywz5010, ywz4010)
new_lt22(ywz305, ywz306, app(app(app(ty_@3, cfe), cff), cfg)) → new_lt5(ywz305, ywz306, cfe, cff, cfg)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_lt18(ywz500, ywz400, fg) → new_esEs8(new_compare19(ywz500, ywz400, fg), LT)
new_esEs9(ywz5010, ywz4010, ty_Int) → new_esEs10(ywz5010, ywz4010)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Int) → new_ltEs7(ywz5010, ywz4010)
new_lt20(ywz5010, ywz4010, ty_Float) → new_lt12(ywz5010, ywz4010)
new_lt11(ywz500, ywz400) → new_esEs8(new_compare27(ywz500, ywz400), LT)
new_esEs26(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_esEs26(ywz5002, ywz4002, app(ty_Maybe, cac)) → new_esEs4(ywz5002, ywz4002, cac)
new_esEs22(ywz5010, ywz4010, app(ty_Ratio, bda)) → new_esEs18(ywz5010, ywz4010, bda)
new_lt22(ywz305, ywz306, ty_Char) → new_lt15(ywz305, ywz306)
new_esEs19(ywz500, ywz400, app(app(ty_Either, bf), bg)) → new_esEs5(ywz500, ywz400, bf, bg)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(app(app(ty_@3, dea), deb), dec)) → new_esEs6(ywz5000, ywz4000, dea, deb, dec)
new_compare32(ywz5000, ywz4000, app(app(ty_@2, cbf), cbg)) → new_compare15(ywz5000, ywz4000, cbf, cbg)
new_ltEs5(ywz5011, ywz4011, ty_Int) → new_ltEs7(ywz5011, ywz4011)
new_ltEs10(Right(ywz5010), Right(ywz4010), hb, app(app(ty_@2, dbf), dbg)) → new_ltEs4(ywz5010, ywz4010, dbf, dbg)
new_compare32(ywz5000, ywz4000, ty_Float) → new_compare9(ywz5000, ywz4000)
new_esEs25(ywz5001, ywz4001, ty_Float) → new_esEs13(ywz5001, ywz4001)
new_esEs9(ywz5010, ywz4010, ty_Integer) → new_esEs14(ywz5010, ywz4010)
new_pePe(False, ywz250) → ywz250
new_esEs25(ywz5001, ywz4001, app(app(ty_@2, bhb), bhc)) → new_esEs7(ywz5001, ywz4001, bhb, bhc)
new_lt20(ywz5010, ywz4010, ty_Bool) → new_lt11(ywz5010, ywz4010)
new_compare29(@0, @0) → EQ
new_ltEs19(ywz501, ywz401, app(app(ty_@2, cc), cd)) → new_ltEs4(ywz501, ywz401, cc, cd)
new_esEs7(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), ga, gb) → new_asAs(new_esEs20(ywz5000, ywz4000, ga), new_esEs21(ywz5001, ywz4001, gb))
new_ltEs10(Right(ywz5010), Right(ywz4010), hb, ty_Float) → new_ltEs12(ywz5010, ywz4010)
new_lt19(ywz500, ywz400, app(ty_[], gc)) → new_lt16(ywz500, ywz400, gc)
new_lt21(ywz5011, ywz4011, app(ty_Ratio, bec)) → new_lt18(ywz5011, ywz4011, bec)
new_lt6(ywz500, ywz400) → new_esEs8(new_compare8(ywz500, ywz400), LT)
new_compare12(ywz126, ywz127, ywz128, ywz129, False, fb, fc) → GT
new_lt21(ywz5011, ywz4011, app(app(app(ty_@3, bde), bdf), bdg)) → new_lt5(ywz5011, ywz4011, bde, bdf, bdg)
new_ltEs5(ywz5011, ywz4011, app(app(ty_@2, ef), eg)) → new_ltEs4(ywz5011, ywz4011, ef, eg)
new_esEs24(ywz5000, ywz4000, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_esEs26(ywz5002, ywz4002, ty_Bool) → new_esEs12(ywz5002, ywz4002)
new_esEs17(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs10(Left(ywz5010), Left(ywz4010), app(app(app(ty_@3, daa), dab), dac), hc) → new_ltEs13(ywz5010, ywz4010, daa, dab, dac)
new_compare32(ywz5000, ywz4000, ty_Bool) → new_compare27(ywz5000, ywz4000)
new_ltEs6(GT, EQ) → False
new_lt20(ywz5010, ywz4010, app(app(ty_@2, bcf), bcg)) → new_lt14(ywz5010, ywz4010, bcf, bcg)
new_ltEs10(Left(ywz5010), Left(ywz4010), app(app(ty_Either, chg), chh), hc) → new_ltEs10(ywz5010, ywz4010, chg, chh)
new_gt0(ywz333, ywz334, app(app(ty_@2, chb), chc)) → new_gt(ywz333, ywz334, chb, chc)
new_esEs22(ywz5010, ywz4010, ty_Ordering) → new_esEs8(ywz5010, ywz4010)
new_gt0(ywz333, ywz334, app(ty_Ratio, che)) → new_esEs8(new_compare19(ywz333, ywz334, che), GT)
new_ltEs11(False, True) → True
new_esEs9(ywz5010, ywz4010, ty_Double) → new_esEs17(ywz5010, ywz4010)
new_compare111(ywz500, ywz400, False) → GT
new_ltEs19(ywz501, ywz401, app(ty_Ratio, gd)) → new_ltEs18(ywz501, ywz401, gd)
new_compare111(ywz500, ywz400, True) → LT
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_lt21(ywz5011, ywz4011, app(app(ty_Either, bdc), bdd)) → new_lt4(ywz5011, ywz4011, bdc, bdd)
new_lt16(ywz500, ywz400, gc) → new_esEs8(new_compare5(ywz500, ywz400, gc), LT)
new_ltEs19(ywz501, ywz401, ty_Double) → new_ltEs17(ywz501, ywz401)
new_esEs5(Left(ywz5000), Left(ywz4000), app(ty_Maybe, dcc), bg) → new_esEs4(ywz5000, ywz4000, dcc)
new_ltEs19(ywz501, ywz401, ty_Int) → new_ltEs7(ywz501, ywz401)
new_compare25(ywz500, ywz400, False, bh, ca, cb) → new_compare16(ywz500, ywz400, new_ltEs13(ywz500, ywz400, bh, ca, cb), bh, ca, cb)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Ordering, bg) → new_esEs8(ywz5000, ywz4000)
new_ltEs20(ywz5012, ywz4012, app(app(ty_@2, bfb), bfc)) → new_ltEs4(ywz5012, ywz4012, bfb, bfc)
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat1(ywz4000, ywz50000)
new_esEs26(ywz5002, ywz4002, ty_Double) → new_esEs17(ywz5002, ywz4002)
new_ltEs8(Nothing, Just(ywz4010), ge) → True
new_esEs9(ywz5010, ywz4010, ty_Float) → new_esEs13(ywz5010, ywz4010)
new_compare6(ywz500, ywz400, bf, bg) → new_compare23(ywz500, ywz400, new_esEs5(ywz500, ywz400, bf, bg), bf, bg)
new_lt20(ywz5010, ywz4010, ty_Ordering) → new_lt6(ywz5010, ywz4010)
new_esEs25(ywz5001, ywz4001, app(app(ty_Either, bhh), caa)) → new_esEs5(ywz5001, ywz4001, bhh, caa)
new_lt22(ywz305, ywz306, ty_Float) → new_lt12(ywz305, ywz306)
new_esEs8(LT, LT) → True
new_ltEs10(Left(ywz5010), Left(ywz4010), app(ty_[], daf), hc) → new_ltEs16(ywz5010, ywz4010, daf)
new_compare25(ywz500, ywz400, True, bh, ca, cb) → EQ
new_esEs19(ywz500, ywz400, app(ty_Maybe, fh)) → new_esEs4(ywz500, ywz400, fh)
new_lt7(ywz5010, ywz4010, app(ty_Ratio, dg)) → new_lt18(ywz5010, ywz4010, dg)
new_esEs25(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs19(ywz501, ywz401, app(app(ty_Either, hb), hc)) → new_ltEs10(ywz501, ywz401, hb, hc)
new_esEs19(ywz500, ywz400, ty_Bool) → new_esEs12(ywz500, ywz400)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_esEs25(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, baa), bab), bac)) → new_esEs6(ywz5000, ywz4000, baa, bab, bac)
new_ltEs10(Left(ywz5010), Left(ywz4010), app(ty_Maybe, chf), hc) → new_ltEs8(ywz5010, ywz4010, chf)
new_pePe(True, ywz250) → True
new_primEqNat0(Zero, Zero) → True
new_ltEs20(ywz5012, ywz4012, app(ty_Ratio, bfe)) → new_ltEs18(ywz5012, ywz4012, bfe)
new_esEs23(ywz5011, ywz4011, ty_@0) → new_esEs11(ywz5011, ywz4011)
new_lt22(ywz305, ywz306, app(ty_Maybe, cfb)) → new_lt9(ywz305, ywz306, cfb)
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat1(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_esEs22(ywz5010, ywz4010, ty_@0) → new_esEs11(ywz5010, ywz4010)
new_ltEs20(ywz5012, ywz4012, ty_Integer) → new_ltEs14(ywz5012, ywz4012)
new_lt7(ywz5010, ywz4010, app(ty_[], df)) → new_lt16(ywz5010, ywz4010, df)
new_ltEs5(ywz5011, ywz4011, app(ty_Maybe, dh)) → new_ltEs8(ywz5011, ywz4011, dh)
new_esEs22(ywz5010, ywz4010, app(app(ty_@2, bcf), bcg)) → new_esEs7(ywz5010, ywz4010, bcf, bcg)
new_ltEs16(ywz501, ywz401, gf) → new_not(new_esEs8(new_compare5(ywz501, ywz401, gf), GT))
new_esEs19(ywz500, ywz400, ty_Float) → new_esEs13(ywz500, ywz400)
new_ltEs5(ywz5011, ywz4011, app(ty_Ratio, fa)) → new_ltEs18(ywz5011, ywz4011, fa)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_compare110(ywz500, ywz400, False, bf, bg) → GT
new_ltEs4(@2(ywz5010, ywz5011), @2(ywz4010, ywz4011), cc, cd) → new_pePe(new_lt7(ywz5010, ywz4010, cc), new_asAs(new_esEs9(ywz5010, ywz4010, cc), new_ltEs5(ywz5011, ywz4011, cd)))
new_ltEs19(ywz501, ywz401, ty_Ordering) → new_ltEs6(ywz501, ywz401)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_lt22(ywz305, ywz306, ty_Ordering) → new_lt6(ywz305, ywz306)
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs9(ywz5010, ywz4010, ty_@0) → new_esEs11(ywz5010, ywz4010)
new_esEs18(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), fg) → new_asAs(new_esEs28(ywz5000, ywz4000, fg), new_esEs29(ywz5001, ywz4001, fg))
new_esEs9(ywz5010, ywz4010, app(ty_[], df)) → new_esEs16(ywz5010, ywz4010, df)
new_lt19(ywz500, ywz400, ty_Int) → new_lt8(ywz500, ywz400)
new_lt7(ywz5010, ywz4010, ty_Int) → new_lt8(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, app(app(ty_@2, bfh), bga)) → new_esEs7(ywz5000, ywz4000, bfh, bga)
new_ltEs10(Right(ywz5010), Right(ywz4010), hb, app(ty_Maybe, dah)) → new_ltEs8(ywz5010, ywz4010, dah)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat0(ywz40000, Zero)
new_esEs26(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_ltEs6(EQ, GT) → True
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(ty_Ratio, ddd)) → new_esEs18(ywz5000, ywz4000, ddd)
new_esEs8(GT, GT) → True
new_lt22(ywz305, ywz306, app(ty_Ratio, cgc)) → new_lt18(ywz305, ywz306, cgc)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat1(Zero, ywz40000)
new_compare32(ywz5000, ywz4000, app(ty_[], cbh)) → new_compare5(ywz5000, ywz4000, cbh)
new_lt22(ywz305, ywz306, app(ty_[], cgb)) → new_lt16(ywz305, ywz306, cgb)
new_lt7(ywz5010, ywz4010, app(app(app(ty_@3, da), db), dc)) → new_lt5(ywz5010, ywz4010, da, db, dc)
new_lt20(ywz5010, ywz4010, ty_Double) → new_lt17(ywz5010, ywz4010)
new_esEs26(ywz5002, ywz4002, app(app(app(ty_@3, cag), cah), cba)) → new_esEs6(ywz5002, ywz4002, cag, cah, cba)
new_esEs12(False, False) → True
new_gt0(ywz333, ywz334, app(ty_[], chd)) → new_esEs8(new_compare5(ywz333, ywz334, chd), GT)
new_esEs8(LT, GT) → False
new_esEs8(GT, LT) → False
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Bool, hc) → new_ltEs11(ywz5010, ywz4010)
new_lt22(ywz305, ywz306, ty_Double) → new_lt17(ywz305, ywz306)
new_esEs13(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, ccf)) → new_esEs18(ywz5000, ywz4000, ccf)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare210(ywz500, ywz400, False) → new_compare111(ywz500, ywz400, new_ltEs6(ywz500, ywz400))
new_ltEs8(Just(ywz5010), Just(ywz4010), app(ty_Ratio, cfa)) → new_ltEs18(ywz5010, ywz4010, cfa)
new_ltEs7(ywz501, ywz401) → new_not(new_esEs8(new_compare10(ywz501, ywz401), GT))
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5010, ywz4010, app(app(app(ty_@3, bcc), bcd), bce)) → new_esEs6(ywz5010, ywz4010, bcc, bcd, bce)
new_esEs23(ywz5011, ywz4011, ty_Ordering) → new_esEs8(ywz5011, ywz4011)
new_esEs5(Left(ywz5000), Left(ywz4000), app(ty_[], dcf), bg) → new_esEs16(ywz5000, ywz4000, dcf)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Ordering, hc) → new_ltEs6(ywz5010, ywz4010)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_primCmpNat1(Zero, ywz50000) → LT
new_lt20(ywz5010, ywz4010, app(app(ty_Either, bca), bcb)) → new_lt4(ywz5010, ywz4010, bca, bcb)
new_compare23(ywz500, ywz400, False, bf, bg) → new_compare110(ywz500, ywz400, new_ltEs10(ywz500, ywz400, bf, bg), bf, bg)
new_ltEs5(ywz5011, ywz4011, app(ty_[], eh)) → new_ltEs16(ywz5011, ywz4011, eh)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_ltEs20(ywz5012, ywz4012, ty_Bool) → new_ltEs11(ywz5012, ywz4012)
new_ltEs10(Right(ywz5010), Right(ywz4010), hb, ty_Int) → new_ltEs7(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, app(app(app(ty_@3, bgc), bgd), bge)) → new_esEs6(ywz5000, ywz4000, bgc, bgd, bge)
new_compare12(ywz126, ywz127, ywz128, ywz129, True, fb, fc) → LT
new_ltEs6(EQ, EQ) → True
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bah), bba)) → new_esEs7(ywz5001, ywz4001, bah, bba)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_compare13(ywz126, ywz127, ywz128, ywz129, True, ywz131, fb, fc) → new_compare12(ywz126, ywz127, ywz128, ywz129, True, fb, fc)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, ccd), cce)) → new_esEs5(ywz5000, ywz4000, ccd, cce)
new_lt14(ywz50, ywz40, fd, ff) → new_esEs8(new_compare15(ywz50, ywz40, fd, ff), LT)
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_esEs8(EQ, EQ) → True
new_ltEs8(Just(ywz5010), Just(ywz4010), app(app(ty_Either, cea), ceb)) → new_ltEs10(ywz5010, ywz4010, cea, ceb)
new_primPlusNat1(Zero, ywz400100) → Succ(ywz400100)
new_lt7(ywz5010, ywz4010, ty_Float) → new_lt12(ywz5010, ywz4010)
new_ltEs5(ywz5011, ywz4011, app(app(app(ty_@3, ec), ed), ee)) → new_ltEs13(ywz5011, ywz4011, ec, ed, ee)
new_lt20(ywz5010, ywz4010, ty_@0) → new_lt10(ywz5010, ywz4010)
new_ltEs6(GT, GT) → True
new_lt7(ywz5010, ywz4010, ty_Char) → new_lt15(ywz5010, ywz4010)
new_esEs22(ywz5010, ywz4010, ty_Float) → new_esEs13(ywz5010, ywz4010)
new_compare24(ywz50, ywz40, True, fd, ff) → EQ
new_lt13(ywz500, ywz400) → new_esEs8(new_compare17(ywz500, ywz400), LT)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_esEs26(ywz5002, ywz4002, ty_@0) → new_esEs11(ywz5002, ywz4002)
new_lt20(ywz5010, ywz4010, ty_Int) → new_lt8(ywz5010, ywz4010)
new_esEs23(ywz5011, ywz4011, ty_Integer) → new_esEs14(ywz5011, ywz4011)
new_compare32(ywz5000, ywz4000, ty_Integer) → new_compare17(ywz5000, ywz4000)
new_lt20(ywz5010, ywz4010, ty_Integer) → new_lt13(ywz5010, ywz4010)
new_esEs22(ywz5010, ywz4010, app(ty_Maybe, bbh)) → new_esEs4(ywz5010, ywz4010, bbh)
new_compare5(:(ywz5000, ywz5001), [], gc) → GT
new_esEs25(ywz5001, ywz4001, app(ty_Maybe, bha)) → new_esEs4(ywz5001, ywz4001, bha)
new_gt0(ywz333, ywz334, ty_Double) → new_esEs8(new_compare30(ywz333, ywz334), GT)
new_gt0(ywz333, ywz334, app(ty_Maybe, cgd)) → new_esEs8(new_compare18(ywz333, ywz334, cgd), GT)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_esEs9(ywz5010, ywz4010, app(app(ty_@2, dd), de)) → new_esEs7(ywz5010, ywz4010, dd, de)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_lt22(ywz305, ywz306, app(app(ty_@2, cfh), cga)) → new_lt14(ywz305, ywz306, cfh, cga)
new_ltEs11(True, False) → False
new_esEs5(Left(ywz5000), Left(ywz4000), ty_@0, bg) → new_esEs11(ywz5000, ywz4000)
new_compare14(ywz500, ywz400, False, fh) → GT
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(app(ty_Either, ded), dee)) → new_esEs5(ywz5000, ywz4000, ded, dee)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_gt0(ywz333, ywz334, ty_@0) → new_esEs8(new_compare29(ywz333, ywz334), GT)
new_ltEs10(Right(ywz5010), Right(ywz4010), hb, app(app(app(ty_@3, dbc), dbd), dbe)) → new_ltEs13(ywz5010, ywz4010, dbc, dbd, dbe)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Char, bg) → new_esEs15(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, app(ty_Ratio, bff)) → new_esEs18(ywz5000, ywz4000, bff)
new_esEs19(ywz500, ywz400, app(app(app(ty_@3, bh), ca), cb)) → new_esEs6(ywz500, ywz400, bh, ca, cb)
new_lt21(ywz5011, ywz4011, ty_Int) → new_lt8(ywz5011, ywz4011)
new_lt21(ywz5011, ywz4011, ty_Integer) → new_lt13(ywz5011, ywz4011)
new_compare5(:(ywz5000, ywz5001), :(ywz4000, ywz4001), gc) → new_primCompAux0(ywz5000, ywz4000, new_compare5(ywz5001, ywz4001, gc), gc)
new_esEs22(ywz5010, ywz4010, ty_Bool) → new_esEs12(ywz5010, ywz4010)
new_esEs29(ywz5001, ywz4001, ty_Int) → new_esEs10(ywz5001, ywz4001)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs10(ywz5000, ywz4000)
new_primCompAux00(ywz279, LT) → LT
new_ltEs10(Left(ywz5010), Left(ywz4010), app(ty_Ratio, dag), hc) → new_ltEs18(ywz5010, ywz4010, dag)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Float) → new_ltEs12(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_ltEs8(Just(ywz5010), Nothing, ge) → False
new_ltEs10(Right(ywz5010), Right(ywz4010), hb, app(app(ty_Either, dba), dbb)) → new_ltEs10(ywz5010, ywz4010, dba, dbb)
new_esEs22(ywz5010, ywz4010, ty_Char) → new_esEs15(ywz5010, ywz4010)
new_gt0(ywz333, ywz334, ty_Int) → new_gt1(ywz333, ywz334)
new_compare27(ywz500, ywz400) → new_compare28(ywz500, ywz400, new_esEs12(ywz500, ywz400))
new_lt21(ywz5011, ywz4011, app(ty_Maybe, bdb)) → new_lt9(ywz5011, ywz4011, bdb)
new_compare32(ywz5000, ywz4000, app(ty_Ratio, cbd)) → new_compare19(ywz5000, ywz4000, cbd)
new_ltEs5(ywz5011, ywz4011, ty_@0) → new_ltEs9(ywz5011, ywz4011)
new_esEs8(LT, EQ) → False
new_esEs8(EQ, LT) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primPlusNat0(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_primPlusNat0(Succ(ywz21700), Zero) → Succ(ywz21700)
new_esEs22(ywz5010, ywz4010, ty_Integer) → new_esEs14(ywz5010, ywz4010)
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bh, ca, cb) → new_asAs(new_esEs24(ywz5000, ywz4000, bh), new_asAs(new_esEs25(ywz5001, ywz4001, ca), new_esEs26(ywz5002, ywz4002, cb)))
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, cdf), cdg)) → new_esEs5(ywz5000, ywz4000, cdf, cdg)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bad), bae)) → new_esEs5(ywz5000, ywz4000, bad, bae)
new_esEs23(ywz5011, ywz4011, ty_Float) → new_esEs13(ywz5011, ywz4011)
new_ltEs10(Right(ywz5010), Right(ywz4010), hb, ty_Integer) → new_ltEs14(ywz5010, ywz4010)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Float, bg) → new_esEs13(ywz5000, ywz4000)
new_lt7(ywz5010, ywz4010, app(app(ty_@2, dd), de)) → new_lt14(ywz5010, ywz4010, dd, de)
new_sr0(Integer(ywz40000), Integer(ywz50010)) → Integer(new_primMulInt(ywz40000, ywz50010))
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_esEs5(Left(ywz5000), Left(ywz4000), app(ty_Ratio, dcb), bg) → new_esEs18(ywz5000, ywz4000, dcb)
new_esEs25(ywz5001, ywz4001, ty_Int) → new_esEs10(ywz5001, ywz4001)
new_lt22(ywz305, ywz306, ty_Int) → new_lt8(ywz305, ywz306)
new_lt19(ywz500, ywz400, app(app(app(ty_@3, bh), ca), cb)) → new_lt5(ywz500, ywz400, bh, ca, cb)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Ordering) → new_ltEs6(ywz5010, ywz4010)
new_esEs9(ywz5010, ywz4010, app(app(ty_Either, cf), cg)) → new_esEs5(ywz5010, ywz4010, cf, cg)
new_primCmpNat2(Zero, Succ(ywz400000)) → LT
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_esEs26(ywz5002, ywz4002, ty_Int) → new_esEs10(ywz5002, ywz4002)
new_primCompAux00(ywz279, EQ) → ywz279
new_esEs23(ywz5011, ywz4011, ty_Double) → new_esEs17(ywz5011, ywz4011)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, cbf), cbg)) → new_esEs7(ywz5000, ywz4000, cbf, cbg)
new_lt22(ywz305, ywz306, app(app(ty_Either, cfc), cfd)) → new_lt4(ywz305, ywz306, cfc, cfd)
new_gt1(ywz230, ywz229) → new_esEs8(new_compare10(ywz230, ywz229), GT)
new_lt7(ywz5010, ywz4010, app(ty_Maybe, ce)) → new_lt9(ywz5010, ywz4010, ce)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Double, bg) → new_esEs17(ywz5000, ywz4000)
new_ltEs5(ywz5011, ywz4011, ty_Double) → new_ltEs17(ywz5011, ywz4011)
new_esEs8(EQ, GT) → False
new_esEs8(GT, EQ) → False
new_ltEs19(ywz501, ywz401, app(app(app(ty_@3, gg), gh), ha)) → new_ltEs13(ywz501, ywz401, gg, gh, ha)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_lt21(ywz5011, ywz4011, ty_@0) → new_lt10(ywz5011, ywz4011)
new_lt15(ywz500, ywz400) → new_esEs8(new_compare31(ywz500, ywz400), LT)
new_compare26(ywz500, ywz400, True, fh) → EQ
new_esEs9(ywz5010, ywz4010, ty_Ordering) → new_esEs8(ywz5010, ywz4010)
new_ltEs10(Left(ywz5010), Left(ywz4010), app(app(ty_@2, dad), dae), hc) → new_ltEs4(ywz5010, ywz4010, dad, dae)
new_compare9(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_ltEs13(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), gg, gh, ha) → new_pePe(new_lt20(ywz5010, ywz4010, gg), new_asAs(new_esEs22(ywz5010, ywz4010, gg), new_pePe(new_lt21(ywz5011, ywz4011, gh), new_asAs(new_esEs23(ywz5011, ywz4011, gh), new_ltEs20(ywz5012, ywz4012, ha)))))
new_not(False) → True
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs11(ywz5000, ywz4000)
new_ltEs18(ywz501, ywz401, gd) → new_not(new_esEs8(new_compare19(ywz501, ywz401, gd), GT))
new_esEs19(ywz500, ywz400, app(app(ty_@2, ga), gb)) → new_esEs7(ywz500, ywz400, ga, gb)
new_esEs26(ywz5002, ywz4002, app(ty_Ratio, cab)) → new_esEs18(ywz5002, ywz4002, cab)
new_ltEs5(ywz5011, ywz4011, ty_Integer) → new_ltEs14(ywz5011, ywz4011)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Char, hc) → new_ltEs15(ywz5010, ywz4010)
new_lt19(ywz500, ywz400, ty_Bool) → new_lt11(ywz500, ywz400)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt12(ywz500, ywz400) → new_esEs8(new_compare9(ywz500, ywz400), LT)
new_esEs19(ywz500, ywz400, ty_Double) → new_esEs17(ywz500, ywz400)
new_ltEs8(Just(ywz5010), Just(ywz4010), app(ty_[], ceh)) → new_ltEs16(ywz5010, ywz4010, ceh)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Double, hc) → new_ltEs17(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_ltEs11(False, False) → True
new_ltEs5(ywz5011, ywz4011, ty_Float) → new_ltEs12(ywz5011, ywz4011)
new_compare7(ywz500, ywz400, bh, ca, cb) → new_compare25(ywz500, ywz400, new_esEs6(ywz500, ywz400, bh, ca, cb), bh, ca, cb)
new_compare28(ywz500, ywz400, True) → EQ
new_esEs26(ywz5002, ywz4002, app(app(ty_Either, cbb), cbc)) → new_esEs5(ywz5002, ywz4002, cbb, cbc)
new_lt19(ywz500, ywz400, app(ty_Ratio, fg)) → new_lt18(ywz500, ywz400, fg)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Char) → new_ltEs15(ywz5010, ywz4010)
new_compare32(ywz5000, ywz4000, app(ty_Maybe, cbe)) → new_compare18(ywz5000, ywz4000, cbe)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_lt21(ywz5011, ywz4011, app(app(ty_@2, bdh), bea)) → new_lt14(ywz5011, ywz4011, bdh, bea)
new_esEs22(ywz5010, ywz4010, app(ty_[], bch)) → new_esEs16(ywz5010, ywz4010, bch)
new_ltEs19(ywz501, ywz401, app(ty_[], gf)) → new_ltEs16(ywz501, ywz401, gf)
new_compare32(ywz5000, ywz4000, ty_Ordering) → new_compare8(ywz5000, ywz4000)
new_lt7(ywz5010, ywz4010, app(app(ty_Either, cf), cg)) → new_lt4(ywz5010, ywz4010, cf, cg)
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs29(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_lt19(ywz500, ywz400, app(app(ty_@2, ga), gb)) → new_lt14(ywz500, ywz400, ga, gb)
new_ltEs10(Right(ywz5010), Right(ywz4010), hb, ty_Double) → new_ltEs17(ywz5010, ywz4010)
new_esEs9(ywz5010, ywz4010, app(ty_Ratio, dg)) → new_esEs18(ywz5010, ywz4010, dg)
new_esEs22(ywz5010, ywz4010, ty_Int) → new_esEs10(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(ty_[], ddh)) → new_esEs16(ywz5000, ywz4000, ddh)
new_esEs5(Left(ywz5000), Right(ywz4000), bf, bg) → False
new_esEs5(Right(ywz5000), Left(ywz4000), bf, bg) → False
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_ltEs19(ywz501, ywz401, app(ty_Maybe, ge)) → new_ltEs8(ywz501, ywz401, ge)
new_primCmpNat2(Zero, Zero) → EQ
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_primEqNat0(Succ(ywz50000), Zero) → False
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Integer) → new_ltEs14(ywz5010, ywz4010)
new_primPlusNat0(Zero, Zero) → Zero
new_esEs26(ywz5002, ywz4002, app(app(ty_@2, cad), cae)) → new_esEs7(ywz5002, ywz4002, cad, cae)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_ltEs6(LT, LT) → True
new_compare28(ywz500, ywz400, False) → new_compare11(ywz500, ywz400, new_ltEs11(ywz500, ywz400))
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Integer, bg) → new_esEs14(ywz5000, ywz4000)
new_ltEs20(ywz5012, ywz4012, ty_Char) → new_ltEs15(ywz5012, ywz4012)
new_ltEs6(EQ, LT) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs23(ywz5011, ywz4011, app(ty_Ratio, bec)) → new_esEs18(ywz5011, ywz4011, bec)
new_esEs4(Nothing, Nothing, fh) → True
new_ltEs20(ywz5012, ywz4012, ty_Int) → new_ltEs7(ywz5012, ywz4012)
new_lt19(ywz500, ywz400, ty_Double) → new_lt17(ywz500, ywz400)
new_primCmpNat2(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat2(ywz500000, ywz400000)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat0(ywz50000, ywz4000)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, cca), ccb), ccc)) → new_esEs6(ywz5000, ywz4000, cca, ccb, ccc)
new_compare32(ywz5000, ywz4000, ty_Char) → new_compare31(ywz5000, ywz4000)
new_ltEs10(Right(ywz5010), Right(ywz4010), hb, app(ty_[], dbh)) → new_ltEs16(ywz5010, ywz4010, dbh)
new_esEs11(@0, @0) → True
new_esEs25(ywz5001, ywz4001, ty_@0) → new_esEs11(ywz5001, ywz4001)
new_compare210(ywz500, ywz400, True) → EQ
new_compare32(ywz5000, ywz4000, ty_@0) → new_compare29(ywz5000, ywz4000)
new_esEs16([], :(ywz4000, ywz4001), gc) → False
new_esEs16(:(ywz5000, ywz5001), [], gc) → False
new_primCmpNat0(ywz50000, Zero) → GT
new_lt22(ywz305, ywz306, ty_@0) → new_lt10(ywz305, ywz306)
new_compare30(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, cbe)) → new_esEs4(ywz5000, ywz4000, cbe)
new_ltEs20(ywz5012, ywz4012, ty_Double) → new_ltEs17(ywz5012, ywz4012)
new_ltEs20(ywz5012, ywz4012, app(app(ty_Either, bee), bef)) → new_ltEs10(ywz5012, ywz4012, bee, bef)
new_primPlusNat1(Succ(ywz2170), ywz400100) → Succ(Succ(new_primPlusNat0(ywz2170, ywz400100)))
new_compare16(ywz500, ywz400, True, bh, ca, cb) → LT
new_compare13(ywz126, ywz127, ywz128, ywz129, False, ywz131, fb, fc) → new_compare12(ywz126, ywz127, ywz128, ywz129, ywz131, fb, fc)
new_compare32(ywz5000, ywz4000, ty_Int) → new_compare10(ywz5000, ywz4000)
new_compare23(ywz500, ywz400, True, bf, bg) → EQ
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare8(ywz500, ywz400) → new_compare210(ywz500, ywz400, new_esEs8(ywz500, ywz400))
new_lt8(ywz500, ywz400) → new_esEs8(new_compare10(ywz500, ywz400), LT)
new_esEs25(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_lt7(ywz5010, ywz4010, ty_Ordering) → new_lt6(ywz5010, ywz4010)
new_lt20(ywz5010, ywz4010, app(ty_Maybe, bbh)) → new_lt9(ywz5010, ywz4010, bbh)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], cdb)) → new_esEs16(ywz5000, ywz4000, cdb)
new_ltEs20(ywz5012, ywz4012, app(app(app(ty_@3, beg), beh), bfa)) → new_ltEs13(ywz5012, ywz4012, beg, beh, bfa)
new_lt7(ywz5010, ywz4010, ty_Integer) → new_lt13(ywz5010, ywz4010)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, hd)) → new_esEs18(ywz5000, ywz4000, hd)
new_compare5([], :(ywz4000, ywz4001), gc) → LT
new_lt19(ywz500, ywz400, app(app(ty_Either, bf), bg)) → new_lt4(ywz500, ywz400, bf, bg)
new_ltEs20(ywz5012, ywz4012, app(ty_[], bfd)) → new_ltEs16(ywz5012, ywz4012, bfd)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bag)) → new_esEs4(ywz5001, ywz4001, bag)
new_ltEs10(Right(ywz5010), Right(ywz4010), hb, ty_Bool) → new_ltEs11(ywz5010, ywz4010)
new_ltEs9(ywz501, ywz401) → new_not(new_esEs8(new_compare29(ywz501, ywz401), GT))
new_lt20(ywz5010, ywz4010, app(ty_[], bch)) → new_lt16(ywz5010, ywz4010, bch)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Int, bg) → new_esEs10(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), app(app(ty_@2, dcd), dce), bg) → new_esEs7(ywz5000, ywz4000, dcd, dce)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs13(ywz5001, ywz4001)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_esEs25(ywz5001, ywz4001, ty_Bool) → new_esEs12(ywz5001, ywz4001)
new_ltEs12(ywz501, ywz401) → new_not(new_esEs8(new_compare9(ywz501, ywz401), GT))
new_ltEs8(Just(ywz5010), Just(ywz4010), app(ty_Maybe, cdh)) → new_ltEs8(ywz5010, ywz4010, cdh)
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_compare19(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare10(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_esEs20(ywz5000, ywz4000, app(ty_[], hh)) → new_esEs16(ywz5000, ywz4000, hh)
new_asAs(False, ywz117) → False
new_ltEs11(True, True) → True
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_lt5(ywz500, ywz400, bh, ca, cb) → new_esEs8(new_compare7(ywz500, ywz400, bh, ca, cb), LT)
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_lt19(ywz500, ywz400, ty_Float) → new_lt12(ywz500, ywz400)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bbf), bbg)) → new_esEs5(ywz5001, ywz4001, bbf, bbg)
new_esEs23(ywz5011, ywz4011, app(app(app(ty_@3, bde), bdf), bdg)) → new_esEs6(ywz5011, ywz4011, bde, bdf, bdg)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_gt0(ywz333, ywz334, ty_Float) → new_esEs8(new_compare9(ywz333, ywz334), GT)
new_gt0(ywz333, ywz334, ty_Integer) → new_esEs8(new_compare17(ywz333, ywz334), GT)
new_esEs9(ywz5010, ywz4010, app(ty_Maybe, ce)) → new_esEs4(ywz5010, ywz4010, ce)
new_ltEs8(Just(ywz5010), Just(ywz4010), app(app(ty_@2, cef), ceg)) → new_ltEs4(ywz5010, ywz4010, cef, ceg)
new_compare17(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, dcg), dch), dda), bg) → new_esEs6(ywz5000, ywz4000, dcg, dch, dda)
new_esEs16(:(ywz5000, ywz5001), :(ywz4000, ywz4001), gc) → new_asAs(new_esEs27(ywz5000, ywz4000, gc), new_esEs16(ywz5001, ywz4001, gc))
new_esEs9(ywz5010, ywz4010, ty_Bool) → new_esEs12(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, app(ty_[], bgb)) → new_esEs16(ywz5000, ywz4000, bgb)
new_esEs23(ywz5011, ywz4011, app(app(ty_@2, bdh), bea)) → new_esEs7(ywz5011, ywz4011, bdh, bea)
new_primCmpNat1(Succ(ywz40000), ywz50000) → new_primCmpNat2(ywz40000, ywz50000)
new_compare32(ywz5000, ywz4000, ty_Double) → new_compare30(ywz5000, ywz4000)
new_primCmpNat2(Succ(ywz500000), Zero) → GT
new_compare32(ywz5000, ywz4000, app(app(ty_Either, ccd), cce)) → new_compare6(ywz5000, ywz4000, ccd, cce)
new_compare14(ywz500, ywz400, True, fh) → LT
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs25(ywz5001, ywz4001, app(app(app(ty_@3, bhe), bhf), bhg)) → new_esEs6(ywz5001, ywz4001, bhe, bhf, bhg)
new_esEs24(ywz5000, ywz4000, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_lt20(ywz5010, ywz4010, app(ty_Ratio, bda)) → new_lt18(ywz5010, ywz4010, bda)
new_gt0(ywz333, ywz334, ty_Char) → new_esEs8(new_compare31(ywz333, ywz334), GT)
new_ltEs6(LT, GT) → True
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs12(False, True) → False
new_esEs12(True, False) → False
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_compare24(@2(ywz500, ywz501), @2(ywz400, ywz401), False, fd, ff) → new_compare13(ywz500, ywz501, ywz400, ywz401, new_lt19(ywz500, ywz400, fd), new_asAs(new_esEs19(ywz500, ywz400, fd), new_ltEs19(ywz501, ywz401, ff)), fd, ff)
new_lt19(ywz500, ywz400, ty_Integer) → new_lt13(ywz500, ywz400)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(ty_Maybe, dde)) → new_esEs4(ywz5000, ywz4000, dde)
new_compare10(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Int, hc) → new_ltEs7(ywz5010, ywz4010)
new_esEs25(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs16([], [], gc) → True
new_esEs19(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_compare11(ywz500, ywz400, False) → GT
new_ltEs8(Nothing, Nothing, ge) → True
new_compare15(ywz50, ywz40, fd, ff) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, fd, ff), fd, ff)
new_ltEs10(Right(ywz5010), Left(ywz4010), hb, hc) → False
new_compare11(ywz500, ywz400, True) → LT
new_esEs5(Left(ywz5000), Left(ywz4000), app(app(ty_Either, ddb), ddc), bg) → new_esEs5(ywz5000, ywz4000, ddb, ddc)
new_lt21(ywz5011, ywz4011, ty_Char) → new_lt15(ywz5011, ywz4011)
new_ltEs10(Right(ywz5010), Right(ywz4010), hb, ty_Char) → new_ltEs15(ywz5010, ywz4010)
new_lt21(ywz5011, ywz4011, ty_Double) → new_lt17(ywz5011, ywz4011)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Bool) → new_ltEs11(ywz5010, ywz4010)
new_ltEs14(ywz501, ywz401) → new_not(new_esEs8(new_compare17(ywz501, ywz401), GT))
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, cch), cda)) → new_esEs7(ywz5000, ywz4000, cch, cda)
new_lt21(ywz5011, ywz4011, ty_Float) → new_lt12(ywz5011, ywz4011)
new_compare18(ywz500, ywz400, fh) → new_compare26(ywz500, ywz400, new_esEs4(ywz500, ywz400, fh), fh)
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_lt9(ywz500, ywz400, fh) → new_esEs8(new_compare18(ywz500, ywz400, fh), LT)
new_lt19(ywz500, ywz400, ty_@0) → new_lt10(ywz500, ywz400)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, hf), hg)) → new_esEs7(ywz5000, ywz4000, hf, hg)
new_lt20(ywz5010, ywz4010, app(app(app(ty_@3, bcc), bcd), bce)) → new_lt5(ywz5010, ywz4010, bcc, bcd, bce)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(app(ty_@2, ddf), ddg)) → new_esEs7(ywz5000, ywz4000, ddf, ddg)
new_primPlusNat0(Succ(ywz21700), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat0(ywz21700, ywz4001000)))
new_esEs23(ywz5011, ywz4011, app(ty_[], beb)) → new_esEs16(ywz5011, ywz4011, beb)
new_lt4(ywz500, ywz400, bf, bg) → new_esEs8(new_compare6(ywz500, ywz400, bf, bg), LT)
new_esEs9(ywz5010, ywz4010, app(app(app(ty_@3, da), db), dc)) → new_esEs6(ywz5010, ywz4010, da, db, dc)
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs11(ywz5001, ywz4001)
new_compare31(Char(ywz5000), Char(ywz4000)) → new_primCmpNat2(ywz5000, ywz4000)
new_esEs19(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_ltEs6(LT, EQ) → True
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bbc), bbd), bbe)) → new_esEs6(ywz5001, ywz4001, bbc, bbd, bbe)
new_ltEs6(GT, LT) → False
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_asAs(True, ywz117) → ywz117
new_esEs19(ywz500, ywz400, ty_@0) → new_esEs11(ywz500, ywz400)
new_ltEs19(ywz501, ywz401, ty_Float) → new_ltEs12(ywz501, ywz401)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_ltEs19(ywz501, ywz401, ty_@0) → new_ltEs9(ywz501, ywz401)
new_gt0(ywz333, ywz334, ty_Bool) → new_esEs8(new_compare27(ywz333, ywz334), GT)
new_esEs23(ywz5011, ywz4011, ty_Int) → new_esEs10(ywz5011, ywz4011)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs10(ywz5001, ywz4001)
new_lt20(ywz5010, ywz4010, ty_Char) → new_lt15(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_ltEs17(ywz501, ywz401) → new_not(new_esEs8(new_compare30(ywz501, ywz401), GT))
new_gt0(ywz333, ywz334, app(app(app(ty_@3, cgg), cgh), cha)) → new_esEs8(new_compare7(ywz333, ywz334, cgg, cgh, cha), GT)
new_esEs19(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_ltEs5(ywz5011, ywz4011, ty_Ordering) → new_ltEs6(ywz5011, ywz4011)
new_compare5([], [], gc) → EQ
new_ltEs10(Right(ywz5010), Right(ywz4010), hb, ty_Ordering) → new_ltEs6(ywz5010, ywz4010)
new_ltEs20(ywz5012, ywz4012, ty_@0) → new_ltEs9(ywz5012, ywz4012)
new_ltEs20(ywz5012, ywz4012, ty_Ordering) → new_ltEs6(ywz5012, ywz4012)
new_lt17(ywz500, ywz400) → new_esEs8(new_compare30(ywz500, ywz400), LT)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs12(ywz5001, ywz4001)
new_esEs22(ywz5010, ywz4010, app(app(ty_Either, bca), bcb)) → new_esEs5(ywz5010, ywz4010, bca, bcb)
new_ltEs5(ywz5011, ywz4011, ty_Bool) → new_ltEs11(ywz5011, ywz4011)
new_esEs10(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_primCompAux00(ywz279, GT) → GT
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Integer, hc) → new_ltEs14(ywz5010, ywz4010)
new_ltEs10(Right(ywz5010), Right(ywz4010), hb, ty_@0) → new_ltEs9(ywz5010, ywz4010)
new_compare19(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare17(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_esEs21(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs16(ywz5001, ywz4001, bbb)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_lt7(ywz5010, ywz4010, ty_@0) → new_lt10(ywz5010, ywz4010)
new_lt19(ywz500, ywz400, ty_Char) → new_lt15(ywz500, ywz400)
new_ltEs10(Right(ywz5010), Right(ywz4010), hb, app(ty_Ratio, dca)) → new_ltEs18(ywz5010, ywz4010, dca)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_ltEs19(ywz501, ywz401, ty_Bool) → new_ltEs11(ywz501, ywz401)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, baf)) → new_esEs18(ywz5001, ywz4001, baf)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_gt0(x0, x1, ty_Float)
new_ltEs19(x0, x1, ty_Double)
new_sr(x0, x1)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpNat1(Succ(x0), x1)
new_esEs20(x0, x1, ty_Double)
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_compare10(x0, x1)
new_compare32(x0, x1, ty_Int)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_esEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs21(x0, x1, ty_Int)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Int)
new_lt10(x0, x1)
new_primPlusNat1(Succ(x0), x1)
new_compare7(x0, x1, x2, x3, x4)
new_compare32(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Char)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_primCompAux00(x0, EQ)
new_esEs12(False, False)
new_lt19(x0, x1, ty_Float)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Bool)
new_esEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), ty_Float, x2)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primMulNat0(Succ(x0), Zero)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat0(Zero, Succ(x0))
new_ltEs5(x0, x1, ty_@0)
new_compare14(x0, x1, False, x2)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_compare5(:(x0, x1), :(x2, x3), x4)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs11(@0, @0)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_gt0(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_compare6(x0, x1, x2, x3)
new_esEs20(x0, x1, ty_Ordering)
new_esEs8(GT, GT)
new_lt20(x0, x1, ty_Bool)
new_esEs19(x0, x1, ty_Char)
new_ltEs10(Right(x0), Right(x1), x2, ty_Integer)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs16([], :(x0, x1), x2)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_compare32(x0, x1, ty_Float)
new_esEs7(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs8(LT, LT)
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_gt0(x0, x1, ty_@0)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(Left(x0), Left(x1), ty_Double, x2)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqNat0(Succ(x0), Succ(x1))
new_primCmpNat0(x0, Zero)
new_compare110(x0, x1, False, x2, x3)
new_esEs19(x0, x1, ty_Float)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs20(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Bool)
new_esEs10(x0, x1)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_compare14(x0, x1, True, x2)
new_ltEs9(x0, x1)
new_ltEs6(EQ, EQ)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Integer)
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_ltEs10(Left(x0), Left(x1), ty_Char, x2)
new_ltEs10(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs28(x0, x1, ty_Int)
new_lt21(x0, x1, ty_Bool)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_primCompAux00(x0, LT)
new_esEs4(Just(x0), Just(x1), ty_@0)
new_compare32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_compare15(x0, x1, x2, x3)
new_esEs20(x0, x1, app(ty_[], x2))
new_ltEs6(LT, EQ)
new_gt0(x0, x1, ty_Int)
new_ltEs6(EQ, LT)
new_compare29(@0, @0)
new_ltEs20(x0, x1, ty_Char)
new_esEs5(Right(x0), Right(x1), x2, ty_Int)
new_compare32(x0, x1, ty_Double)
new_primEqNat0(Zero, Zero)
new_esEs22(x0, x1, ty_Float)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_compare16(x0, x1, True, x2, x3, x4)
new_lt19(x0, x1, ty_Char)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_esEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs23(x0, x1, ty_Char)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_compare13(x0, x1, x2, x3, True, x4, x5, x6)
new_compare30(Double(x0, x1), Double(x2, x3))
new_lt22(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Bool)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_primMulNat0(Zero, Zero)
new_ltEs5(x0, x1, ty_Int)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_lt7(x0, x1, ty_Char)
new_gt0(x0, x1, ty_Integer)
new_lt21(x0, x1, ty_Int)
new_ltEs10(Right(x0), Right(x1), x2, ty_Char)
new_compare16(x0, x1, False, x2, x3, x4)
new_lt20(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs5(Right(x0), Right(x1), x2, ty_Char)
new_ltEs20(x0, x1, ty_Ordering)
new_ltEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare32(x0, x1, ty_Char)
new_gt0(x0, x1, ty_Double)
new_esEs26(x0, x1, ty_Integer)
new_lt21(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs19(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Integer)
new_compare28(x0, x1, True)
new_compare26(x0, x1, False, x2)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_compare12(x0, x1, x2, x3, True, x4, x5)
new_esEs4(Nothing, Just(x0), x1)
new_esEs5(Right(x0), Right(x1), x2, ty_Integer)
new_compare24(x0, x1, True, x2, x3)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt19(x0, x1, app(ty_[], x2))
new_ltEs10(Left(x0), Left(x1), ty_Double, x2)
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_compare26(x0, x1, True, x2)
new_lt21(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Char)
new_ltEs10(Left(x0), Left(x1), ty_Integer, x2)
new_esEs20(x0, x1, ty_Integer)
new_lt9(x0, x1, x2)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_lt7(x0, x1, ty_@0)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs4(Just(x0), Just(x1), ty_Float)
new_ltEs10(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_lt17(x0, x1)
new_esEs24(x0, x1, ty_Double)
new_esEs9(x0, x1, ty_Double)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_ltEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, app(ty_[], x2))
new_compare12(x0, x1, x2, x3, False, x4, x5)
new_lt22(x0, x1, ty_Integer)
new_esEs28(x0, x1, ty_Integer)
new_esEs16(:(x0, x1), [], x2)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs21(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, ty_Double)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs16(x0, x1, x2)
new_esEs20(x0, x1, ty_@0)
new_esEs23(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_@0)
new_compare111(x0, x1, True)
new_ltEs19(x0, x1, ty_Char)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, ty_Integer)
new_esEs5(Right(x0), Right(x1), x2, ty_Double)
new_lt7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(Left(x0), Left(x1), ty_Integer, x2)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_lt19(x0, x1, ty_@0)
new_esEs24(x0, x1, ty_Float)
new_gt0(x0, x1, ty_Ordering)
new_primCmpNat1(Zero, x0)
new_primCmpNat2(Zero, Zero)
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1, ty_Bool)
new_primPlusNat0(Zero, Zero)
new_compare23(x0, x1, True, x2, x3)
new_esEs22(x0, x1, ty_Ordering)
new_esEs21(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs25(x0, x1, app(ty_[], x2))
new_compare17(Integer(x0), Integer(x1))
new_compare111(x0, x1, False)
new_compare23(x0, x1, False, x2, x3)
new_compare32(x0, x1, ty_Bool)
new_lt7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare32(x0, x1, ty_Ordering)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_esEs22(x0, x1, ty_Int)
new_compare8(x0, x1)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, ty_Integer)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs9(x0, x1, ty_Ordering)
new_lt21(x0, x1, ty_Double)
new_compare32(x0, x1, ty_@0)
new_compare13(x0, x1, x2, x3, False, x4, x5, x6)
new_lt21(x0, x1, ty_Ordering)
new_esEs5(Left(x0), Left(x1), ty_Bool, x2)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_@0)
new_primPlusNat1(Zero, x0)
new_compare32(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, ty_@0)
new_lt16(x0, x1, x2)
new_compare32(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Left(x0), Left(x1), ty_Int, x2)
new_esEs5(Right(x0), Right(x1), x2, ty_Bool)
new_compare25(x0, x1, False, x2, x3, x4)
new_lt7(x0, x1, ty_Bool)
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_esEs5(Right(x0), Left(x1), x2, x3)
new_esEs5(Left(x0), Right(x1), x2, x3)
new_esEs27(x0, x1, ty_Ordering)
new_esEs12(True, True)
new_esEs5(Right(x0), Right(x1), x2, ty_Float)
new_primCompAux0(x0, x1, x2, x3)
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_@0)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs14(Integer(x0), Integer(x1))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs16([], [], x0)
new_esEs20(x0, x1, ty_Int)
new_compare32(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs11(False, False)
new_ltEs8(Nothing, Nothing, x0)
new_lt19(x0, x1, ty_Integer)
new_lt22(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_primCompAux00(x0, GT)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, ty_Char)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs8(Nothing, Just(x0), x1)
new_ltEs10(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs5(Left(x0), Left(x1), ty_@0, x2)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Zero, Succ(x0))
new_esEs8(EQ, EQ)
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, ty_Bool)
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_lt21(x0, x1, ty_Float)
new_lt7(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, x2)
new_compare5([], :(x0, x1), x2)
new_ltEs19(x0, x1, ty_Int)
new_compare5(:(x0, x1), [], x2)
new_lt22(x0, x1, ty_Ordering)
new_ltEs11(False, True)
new_ltEs11(True, False)
new_esEs24(x0, x1, ty_Bool)
new_lt22(x0, x1, app(ty_Maybe, x2))
new_compare110(x0, x1, True, x2, x3)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs4(Just(x0), Nothing, x1)
new_gt(x0, x1, x2, x3)
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Nothing, Nothing, x0)
new_esEs19(x0, x1, ty_Double)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, False)
new_ltEs5(x0, x1, app(ty_[], x2))
new_sr0(Integer(x0), Integer(x1))
new_ltEs19(x0, x1, app(ty_[], x2))
new_ltEs10(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs10(Right(x0), Right(x1), x2, ty_Int)
new_gt0(x0, x1, app(ty_Maybe, x2))
new_lt22(x0, x1, ty_Int)
new_esEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_lt7(x0, x1, ty_Double)
new_lt22(x0, x1, app(ty_[], x2))
new_lt4(x0, x1, x2, x3)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1, app(ty_Ratio, x2))
new_esEs5(Left(x0), Left(x1), ty_Char, x2)
new_ltEs5(x0, x1, ty_Ordering)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Int)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Ordering)
new_lt8(x0, x1)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs6(GT, GT)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_lt18(x0, x1, x2)
new_gt0(x0, x1, app(app(ty_Either, x2), x3))
new_compare28(x0, x1, False)
new_pePe(True, x0)
new_primCmpNat2(Succ(x0), Succ(x1))
new_ltEs19(x0, x1, ty_Ordering)
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs18(:%(x0, x1), :%(x2, x3), x4)
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_compare11(x0, x1, False)
new_esEs22(x0, x1, ty_Bool)
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, ty_Integer)
new_lt19(x0, x1, ty_Int)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_gt0(x0, x1, ty_Bool)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt22(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_[], x2))
new_compare32(x0, x1, app(ty_[], x2))
new_pePe(False, x0)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs24(x0, x1, ty_Integer)
new_gt0(x0, x1, app(app(ty_@2, x2), x3))
new_compare25(x0, x1, True, x2, x3, x4)
new_lt7(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Float)
new_esEs19(x0, x1, ty_Bool)
new_primCmpNat2(Zero, Succ(x0))
new_ltEs8(Just(x0), Nothing, x1)
new_esEs23(x0, x1, ty_Bool)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(LT, LT)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Left(x0), Left(x1), ty_Bool, x2)
new_lt22(x0, x1, app(ty_Ratio, x2))
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_compare11(x0, x1, True)
new_lt22(x0, x1, ty_Bool)
new_ltEs10(Left(x0), Left(x1), ty_Ordering, x2)
new_compare18(x0, x1, x2)
new_esEs9(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs25(x0, x1, ty_Int)
new_compare210(x0, x1, True)
new_esEs22(x0, x1, ty_Char)
new_lt7(x0, x1, ty_Int)
new_lt21(x0, x1, app(ty_[], x2))
new_ltEs7(x0, x1)
new_ltEs10(Right(x0), Right(x1), x2, ty_@0)
new_asAs(False, x0)
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(x0, x1, ty_Ordering)
new_esEs23(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, ty_Double)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, ty_Int)
new_compare9(Float(x0, x1), Float(x2, x3))
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs9(x0, x1, ty_Int)
new_esEs12(False, True)
new_esEs12(True, False)
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_compare32(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_@0)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_lt22(x0, x1, ty_Double)
new_lt19(x0, x1, ty_Double)
new_esEs26(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Double)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs5(x0, x1, ty_Double)
new_ltEs10(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt20(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs24(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_@0)
new_ltEs5(x0, x1, ty_Bool)
new_not(True)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, ty_Char)
new_ltEs20(x0, x1, ty_@0)
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Integer)
new_lt11(x0, x1)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, ty_@0)
new_primCmpNat0(x0, Succ(x1))
new_lt21(x0, x1, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_compare19(:%(x0, x1), :%(x2, x3), ty_Integer)
new_not(False)
new_ltEs5(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_Integer)
new_primCmpNat2(Succ(x0), Zero)
new_lt14(x0, x1, x2, x3)
new_esEs9(x0, x1, ty_Integer)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_ltEs15(x0, x1)
new_esEs5(Left(x0), Left(x1), ty_Float, x2)
new_lt5(x0, x1, x2, x3, x4)
new_gt0(x0, x1, ty_Char)
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Bool)
new_compare19(:%(x0, x1), :%(x2, x3), ty_Int)
new_asAs(True, x0)
new_ltEs14(x0, x1)
new_compare5([], [], x0)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs21(x0, x1, ty_Float)
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_esEs15(Char(x0), Char(x1))
new_esEs19(x0, x1, ty_Integer)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs19(x0, x1, ty_@0)
new_lt21(x0, x1, app(ty_Maybe, x2))
new_ltEs13(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt19(x0, x1, app(ty_Ratio, x2))
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Float)
new_gt1(x0, x1)
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_lt22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare27(x0, x1)
new_ltEs10(Right(x0), Left(x1), x2, x3)
new_ltEs10(Left(x0), Right(x1), x2, x3)
new_ltEs5(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs26(x0, x1, ty_Char)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs20(x0, x1, ty_Float)
new_ltEs19(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_lt7(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Double)
new_esEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_lt13(x0, x1)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_lt22(x0, x1, ty_Char)
new_ltEs17(x0, x1)
new_gt0(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs10(Right(x0), Right(x1), x2, ty_Bool)
new_esEs5(Right(x0), Right(x1), x2, ty_@0)
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, app(ty_[], x3))
new_compare24(@2(x0, x1), @2(x2, x3), False, x4, x5)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Zero), Pos(Zero))
new_lt20(x0, x1, ty_Char)
new_esEs25(x0, x1, ty_Float)
new_lt15(x0, x1)
new_ltEs10(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primEqNat0(Zero, Succ(x0))
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Right(x0), Right(x1), x2, ty_Float)
new_esEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs23(x0, x1, ty_Double)
new_esEs13(Float(x0, x1), Float(x2, x3))
new_compare31(Char(x0), Char(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_lt6(x0, x1)
new_esEs9(x0, x1, ty_@0)
new_ltEs19(x0, x1, ty_Integer)
new_lt19(x0, x1, ty_Ordering)
new_lt7(x0, x1, app(ty_Maybe, x2))
new_esEs20(x0, x1, ty_Char)
new_gt0(x0, x1, app(ty_Ratio, x2))
new_lt22(x0, x1, ty_Float)
new_primPlusNat0(Succ(x0), Zero)
new_esEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs10(Right(x0), Right(x1), x2, ty_Double)
new_esEs21(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Bool)
new_lt12(x0, x1)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_ltEs11(True, True)
new_esEs19(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_@0)
new_ltEs10(Left(x0), Left(x1), ty_@0, x2)
new_ltEs12(x0, x1)
new_lt7(x0, x1, ty_Ordering)
From the DPs we obtained the following set of size-change graphs:
↳ HASKELL
↳ LR
↳ HASKELL
↳ CR
↳ HASKELL
↳ IFR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ NumRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
new_plusFM_C(ywz3, Branch(ywz40, ywz41, ywz42, ywz43, ywz44), Branch(ywz50, ywz51, ywz52, ywz53, ywz54), h, ba, bb) → new_plusFM_C(ywz3, new_splitGT30(ywz40, ywz41, ywz42, ywz43, ywz44, ywz50, h, ba, bb), ywz54, h, ba, bb)
new_plusFM_C(ywz3, Branch(ywz40, ywz41, ywz42, ywz43, ywz44), Branch(ywz50, ywz51, ywz52, ywz53, ywz54), h, ba, bb) → new_plusFM_C(ywz3, new_splitLT30(ywz40, ywz41, ywz42, ywz43, ywz44, ywz50, h, ba, bb), ywz53, h, ba, bb)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bga)) → new_esEs4(ywz5000, ywz4000, bga)
new_esEs22(ywz5010, ywz4010, ty_Double) → new_esEs17(ywz5010, ywz4010)
new_primCmpNat0(ywz50000, Succ(ywz40000)) → new_primCmpNat2(ywz50000, ywz40000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, app(app(ty_Either, bbe), bbf)) → new_esEs5(ywz5000, ywz4000, bbe, bbf)
new_lt10(ywz500, ywz400) → new_esEs8(new_compare29(ywz500, ywz400), LT)
new_esEs27(ywz5000, ywz4000, app(ty_[], bfb)) → new_esEs16(ywz5000, ywz4000, bfb)
new_mkBalBranch6MkBalBranch01(ywz250, ywz251, ywz2540, ywz2541, ywz2542, Branch(ywz25430, ywz25431, ywz25432, ywz25433, ywz25434), ywz2544, ywz181, False, bc, bd, be) → new_mkBranch(Succ(Succ(Succ(Succ(Zero)))), ywz25430, ywz25431, new_mkBranch(Succ(Succ(Succ(Succ(Succ(Zero))))), ywz250, ywz251, ywz181, ywz25433, app(app(ty_@2, bc), bd), be), new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), ywz2540, ywz2541, ywz25434, ywz2544, app(app(ty_@2, bc), bd), be), app(app(ty_@2, bc), bd), be)
new_lt7(ywz5010, ywz4010, ty_Double) → new_lt17(ywz5010, ywz4010)
new_esEs31(ywz501, ywz401, ty_@0) → new_esEs11(ywz501, ywz401)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_@0, cbd) → new_ltEs9(ywz5010, ywz4010)
new_esEs25(ywz5001, ywz4001, app(ty_[], bcc)) → new_esEs16(ywz5001, ywz4001, bcc)
new_esEs24(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs5(ywz5011, ywz4011, app(app(ty_Either, ea), eb)) → new_ltEs10(ywz5011, ywz4011, ea, eb)
new_gt(ywz50, ywz40, h, ba) → new_esEs8(new_compare15(ywz50, ywz40, h, ba), GT)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_ltEs19(ywz501, ywz401, ty_Char) → new_ltEs15(ywz501, ywz401)
new_esEs31(ywz501, ywz401, ty_Ordering) → new_esEs8(ywz501, ywz401)
new_compare110(ywz500, ywz400, True, bf, bg) → LT
new_ltEs10(Left(ywz5010), Right(ywz4010), cbc, cbd) → True
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, bef)) → new_esEs18(ywz5000, ywz4000, bef)
new_esEs23(ywz5011, ywz4011, app(app(ty_Either, cdb), cdc)) → new_esEs5(ywz5011, ywz4011, cdb, cdc)
new_esEs19(ywz500, ywz400, app(ty_[], bec)) → new_esEs16(ywz500, ywz400, bec)
new_lt7(ywz5010, ywz4010, ty_Bool) → new_lt11(ywz5010, ywz4010)
new_ltEs8(Just(ywz5010), Just(ywz4010), app(app(app(ty_@3, bhf), bhg), bhh)) → new_ltEs13(ywz5010, ywz4010, bhf, bhg, bhh)
new_esEs24(ywz5000, ywz4000, app(ty_Maybe, baf)) → new_esEs4(ywz5000, ywz4000, baf)
new_esEs4(Nothing, Just(ywz4000), fb) → False
new_esEs4(Just(ywz5000), Nothing, fb) → False
new_compare16(ywz500, ywz400, False, bh, ca, cb) → GT
new_esEs9(ywz5010, ywz4010, ty_Char) → new_esEs15(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs15(ywz501, ywz401) → new_not(new_esEs8(new_compare31(ywz501, ywz401), GT))
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs13(ywz5000, ywz4000)
new_esEs26(ywz5002, ywz4002, ty_Float) → new_esEs13(ywz5002, ywz4002)
new_esEs19(ywz500, ywz400, app(ty_Ratio, cae)) → new_esEs18(ywz500, ywz400, cae)
new_primMulNat0(Zero, Zero) → Zero
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Double) → new_ltEs17(ywz5010, ywz4010)
new_esEs26(ywz5002, ywz4002, app(ty_[], bde)) → new_esEs16(ywz5002, ywz4002, bde)
new_mkBranch(ywz341, ywz342, ywz343, ywz344, ywz345, bed, bee) → Branch(ywz342, ywz343, new_primPlusInt2(new_primPlusInt0(Succ(Zero), new_sizeFM1(ywz344, bed, bee)), ywz345, ywz344, ywz342, bed, bee), ywz344, ywz345)
new_primCompAux0(ywz5000, ywz4000, ywz251, bec) → new_primCompAux00(ywz251, new_compare32(ywz5000, ywz4000, bec))
new_ltEs20(ywz5012, ywz4012, ty_Float) → new_ltEs12(ywz5012, ywz4012)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, bge), bgf), bgg)) → new_esEs6(ywz5000, ywz4000, bge, bgf, bgg)
new_esEs12(True, True) → True
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, fg)) → new_esEs4(ywz5000, ywz4000, fg)
new_lt19(ywz500, ywz400, app(ty_Maybe, fb)) → new_lt9(ywz500, ywz400, fb)
new_lt21(ywz5011, ywz4011, ty_Ordering) → new_lt6(ywz5011, ywz4011)
new_ltEs19(ywz501, ywz401, ty_Integer) → new_ltEs14(ywz501, ywz401)
new_compare32(ywz5000, ywz4000, app(app(app(ty_@3, bfc), bfd), bfe)) → new_compare7(ywz5000, ywz4000, bfc, bfd, bfe)
new_ltEs5(ywz5011, ywz4011, ty_Char) → new_ltEs15(ywz5011, ywz4011)
new_ltEs20(ywz5012, ywz4012, app(ty_Maybe, cec)) → new_ltEs8(ywz5012, ywz4012, cec)
new_esEs32(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_esEs23(ywz5011, ywz4011, ty_Bool) → new_esEs12(ywz5011, ywz4011)
new_esEs19(ywz500, ywz400, ty_Int) → new_esEs10(ywz500, ywz400)
new_lt19(ywz500, ywz400, ty_Ordering) → new_lt6(ywz500, ywz400)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_@0) → new_ltEs9(ywz5010, ywz4010)
new_esEs25(ywz5001, ywz4001, app(ty_Ratio, bbg)) → new_esEs18(ywz5001, ywz4001, bbg)
new_esEs30(ywz500, ywz400, ty_Double) → new_esEs17(ywz500, ywz400)
new_esEs26(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_esEs30(ywz500, ywz400, ty_Int) → new_esEs10(ywz500, ywz400)
new_esEs23(ywz5011, ywz4011, app(ty_Maybe, cda)) → new_esEs4(ywz5011, ywz4011, cda)
new_lt21(ywz5011, ywz4011, app(ty_[], cea)) → new_lt16(ywz5011, ywz4011, cea)
new_lt21(ywz5011, ywz4011, ty_Bool) → new_lt11(ywz5011, ywz4011)
new_esEs23(ywz5011, ywz4011, ty_Char) → new_esEs15(ywz5011, ywz4011)
new_compare26(ywz500, ywz400, False, fb) → new_compare14(ywz500, ywz400, new_ltEs8(ywz500, ywz400, fb), fb)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Bool, bg) → new_esEs12(ywz5000, ywz4000)
new_mkVBalBranch3Size_l(ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb) → new_sizeFM(ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Float, cbd) → new_ltEs12(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs9(ywz5010, ywz4010, ty_Int) → new_esEs10(ywz5010, ywz4010)
new_lt18(ywz500, ywz400, cae) → new_esEs8(new_compare19(ywz500, ywz400, cae), LT)
new_splitLT0(EmptyFM, ywz45, ywz46, bab, bac, bad) → new_emptyFM(bab, bac, bad)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Int) → new_ltEs7(ywz5010, ywz4010)
new_lt20(ywz5010, ywz4010, ty_Float) → new_lt12(ywz5010, ywz4010)
new_lt11(ywz500, ywz400) → new_esEs8(new_compare27(ywz500, ywz400), LT)
new_esEs26(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_esEs26(ywz5002, ywz4002, app(ty_Maybe, bdb)) → new_esEs4(ywz5002, ywz4002, bdb)
new_esEs22(ywz5010, ywz4010, app(ty_Ratio, cch)) → new_esEs18(ywz5010, ywz4010, cch)
new_addToFM_C30(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, h, ba, bb) → new_addToFM_C20(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt14(ywz50, ywz740, h, ba), h, ba, bb)
new_esEs33(ywz501, ywz401, ty_Double) → new_esEs17(ywz501, ywz401)
new_primPlusInt(EmptyFM, ywz250, ywz251, ywz254, bc, bd, be) → new_primPlusInt0(Zero, new_sizeFM0(ywz254, bc, bd, be))
new_esEs19(ywz500, ywz400, app(app(ty_Either, bf), bg)) → new_esEs5(ywz500, ywz400, bf, bg)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(app(app(ty_@3, dbh), dca), dcb)) → new_esEs6(ywz5000, ywz4000, dbh, dca, dcb)
new_ltEs5(ywz5011, ywz4011, ty_Int) → new_ltEs7(ywz5011, ywz4011)
new_compare32(ywz5000, ywz4000, app(app(ty_@2, beh), bfa)) → new_compare15(ywz5000, ywz4000, beh, bfa)
new_ltEs10(Right(ywz5010), Right(ywz4010), cbc, app(app(ty_@2, che), chf)) → new_ltEs4(ywz5010, ywz4010, che, chf)
new_compare32(ywz5000, ywz4000, ty_Float) → new_compare9(ywz5000, ywz4000)
new_mkVBalBranch0(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, EmptyFM, h, ba, bb) → new_addToFM0(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, h, ba, bb)
new_esEs9(ywz5010, ywz4010, ty_Integer) → new_esEs14(ywz5010, ywz4010)
new_esEs25(ywz5001, ywz4001, ty_Float) → new_esEs13(ywz5001, ywz4001)
new_pePe(False, ywz250) → ywz250
new_esEs25(ywz5001, ywz4001, app(app(ty_@2, bca), bcb)) → new_esEs7(ywz5001, ywz4001, bca, bcb)
new_primPlusInt0(ywz18120, Pos(ywz2250)) → Pos(new_primPlusNat0(ywz18120, ywz2250))
new_esEs31(ywz501, ywz401, app(ty_[], cag)) → new_esEs16(ywz501, ywz401, cag)
new_lt20(ywz5010, ywz4010, ty_Bool) → new_lt11(ywz5010, ywz4010)
new_compare29(@0, @0) → EQ
new_ltEs19(ywz501, ywz401, app(app(ty_@2, cc), cd)) → new_ltEs4(ywz501, ywz401, cc, cd)
new_esEs7(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fc, fd) → new_asAs(new_esEs20(ywz5000, ywz4000, fc), new_esEs21(ywz5001, ywz4001, fd))
new_ltEs10(Right(ywz5010), Right(ywz4010), cbc, ty_Float) → new_ltEs12(ywz5010, ywz4010)
new_mkVBalBranch(ywz20, ywz21, ywz22, Branch(ywz860, ywz861, ywz862, ywz863, ywz864), Branch(ywz250, ywz251, ywz252, ywz253, ywz254), bc, bd, be) → new_mkVBalBranch3MkVBalBranch20(ywz250, ywz251, ywz252, ywz253, ywz254, ywz860, ywz861, ywz862, ywz863, ywz864, @2(ywz20, ywz21), ywz22, new_lt8(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz250, ywz251, ywz252, ywz253, ywz254, ywz860, ywz861, ywz862, ywz863, ywz864, bc, bd, be)), new_mkVBalBranch3Size_r(ywz250, ywz251, ywz252, ywz253, ywz254, ywz860, ywz861, ywz862, ywz863, ywz864, bc, bd, be)), bc, bd, be)
new_lt19(ywz500, ywz400, app(ty_[], bec)) → new_lt16(ywz500, ywz400, bec)
new_lt21(ywz5011, ywz4011, app(ty_Ratio, ceb)) → new_lt18(ywz5011, ywz4011, ceb)
new_lt6(ywz500, ywz400) → new_esEs8(new_compare8(ywz500, ywz400), LT)
new_esEs33(ywz501, ywz401, app(app(app(ty_@3, cah), cba), cbb)) → new_esEs6(ywz501, ywz401, cah, cba, cbb)
new_compare12(ywz126, ywz127, ywz128, ywz129, False, cbe, cbf) → GT
new_lt21(ywz5011, ywz4011, app(app(app(ty_@3, cdd), cde), cdf)) → new_lt5(ywz5011, ywz4011, cdd, cde, cdf)
new_ltEs5(ywz5011, ywz4011, app(app(ty_@2, ef), eg)) → new_ltEs4(ywz5011, ywz4011, ef, eg)
new_esEs24(ywz5000, ywz4000, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_esEs26(ywz5002, ywz4002, ty_Bool) → new_esEs12(ywz5002, ywz4002)
new_esEs17(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs10(Left(ywz5010), Left(ywz4010), app(app(app(ty_@3, cfh), cga), cgb), cbd) → new_ltEs13(ywz5010, ywz4010, cfh, cga, cgb)
new_ltEs6(GT, EQ) → False
new_compare32(ywz5000, ywz4000, ty_Bool) → new_compare27(ywz5000, ywz4000)
new_lt20(ywz5010, ywz4010, app(app(ty_@2, cce), ccf)) → new_lt14(ywz5010, ywz4010, cce, ccf)
new_ltEs10(Left(ywz5010), Left(ywz4010), app(app(ty_Either, cff), cfg), cbd) → new_ltEs10(ywz5010, ywz4010, cff, cfg)
new_esEs22(ywz5010, ywz4010, ty_Ordering) → new_esEs8(ywz5010, ywz4010)
new_esEs9(ywz5010, ywz4010, ty_Double) → new_esEs17(ywz5010, ywz4010)
new_ltEs11(False, True) → True
new_esEs31(ywz501, ywz401, ty_Integer) → new_esEs14(ywz501, ywz401)
new_ltEs19(ywz501, ywz401, app(ty_Ratio, caf)) → new_ltEs18(ywz501, ywz401, caf)
new_compare111(ywz500, ywz400, False) → GT
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_compare111(ywz500, ywz400, True) → LT
new_lt21(ywz5011, ywz4011, app(app(ty_Either, cdb), cdc)) → new_lt4(ywz5011, ywz4011, cdb, cdc)
new_primPlusInt1(ywz18120, Pos(ywz2260)) → new_primMinusNat0(ywz2260, ywz18120)
new_ltEs19(ywz501, ywz401, ty_Double) → new_ltEs17(ywz501, ywz401)
new_lt16(ywz500, ywz400, bec) → new_esEs8(new_compare5(ywz500, ywz400, bec), LT)
new_esEs5(Left(ywz5000), Left(ywz4000), app(ty_Maybe, dab), bg) → new_esEs4(ywz5000, ywz4000, dab)
new_ltEs19(ywz501, ywz401, ty_Int) → new_ltEs7(ywz501, ywz401)
new_splitGT30(@2(ywz400, ywz401), ywz41, ywz42, ywz43, ywz44, @2(ywz500, ywz501), h, ba, bb) → new_splitGT20(ywz400, ywz401, ywz41, ywz42, ywz43, ywz44, ywz500, ywz501, new_esEs8(new_compare24(@2(ywz500, ywz501), @2(ywz400, ywz401), new_asAs(new_esEs32(ywz500, ywz400, h), new_esEs33(ywz501, ywz401, ba)), h, ba), GT), h, ba, bb)
new_esEs32(ywz500, ywz400, app(ty_Maybe, fb)) → new_esEs4(ywz500, ywz400, fb)
new_compare25(ywz500, ywz400, False, bh, ca, cb) → new_compare16(ywz500, ywz400, new_ltEs13(ywz500, ywz400, bh, ca, cb), bh, ca, cb)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Ordering, bg) → new_esEs8(ywz5000, ywz4000)
new_ltEs20(ywz5012, ywz4012, app(app(ty_@2, cfa), cfb)) → new_ltEs4(ywz5012, ywz4012, cfa, cfb)
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat1(ywz4000, ywz50000)
new_esEs26(ywz5002, ywz4002, ty_Double) → new_esEs17(ywz5002, ywz4002)
new_ltEs8(Nothing, Just(ywz4010), bhb) → True
new_esEs9(ywz5010, ywz4010, ty_Float) → new_esEs13(ywz5010, ywz4010)
new_compare6(ywz500, ywz400, bf, bg) → new_compare23(ywz500, ywz400, new_esEs5(ywz500, ywz400, bf, bg), bf, bg)
new_lt20(ywz5010, ywz4010, ty_Ordering) → new_lt6(ywz5010, ywz4010)
new_esEs33(ywz501, ywz401, app(ty_[], cag)) → new_esEs16(ywz501, ywz401, cag)
new_esEs25(ywz5001, ywz4001, app(app(ty_Either, bcg), bch)) → new_esEs5(ywz5001, ywz4001, bcg, bch)
new_esEs8(LT, LT) → True
new_ltEs10(Left(ywz5010), Left(ywz4010), app(ty_[], cge), cbd) → new_ltEs16(ywz5010, ywz4010, cge)
new_compare25(ywz500, ywz400, True, bh, ca, cb) → EQ
new_esEs19(ywz500, ywz400, app(ty_Maybe, fb)) → new_esEs4(ywz500, ywz400, fb)
new_lt7(ywz5010, ywz4010, app(ty_Ratio, dg)) → new_lt18(ywz5010, ywz4010, dg)
new_ltEs19(ywz501, ywz401, app(app(ty_Either, cbc), cbd)) → new_ltEs10(ywz501, ywz401, cbc, cbd)
new_esEs25(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_esEs19(ywz500, ywz400, ty_Bool) → new_esEs12(ywz500, ywz400)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_addToFM_C20(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba, bb) → new_addToFM_C10(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_gt(ywz50, ywz740, h, ba), h, ba, bb)
new_esEs25(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_splitGT0(EmptyFM, ywz26, ywz27, bc, bd, be) → new_emptyFM(bc, bd, be)
new_splitGT10(ywz20, ywz21, ywz22, ywz23, ywz24, ywz25, ywz26, ywz27, False, bc, bd, be) → ywz25
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_esEs33(ywz501, ywz401, ty_Float) → new_esEs13(ywz501, ywz401)
new_ltEs10(Left(ywz5010), Left(ywz4010), app(ty_Maybe, cfe), cbd) → new_ltEs8(ywz5010, ywz4010, cfe)
new_pePe(True, ywz250) → True
new_primEqNat0(Zero, Zero) → True
new_esEs23(ywz5011, ywz4011, ty_@0) → new_esEs11(ywz5011, ywz4011)
new_ltEs20(ywz5012, ywz4012, app(ty_Ratio, cfd)) → new_ltEs18(ywz5012, ywz4012, cfd)
new_splitLT10(ywz39, ywz40, ywz41, ywz42, ywz43, ywz44, ywz45, ywz46, False, bab, bac, bad) → ywz43
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat1(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_esEs22(ywz5010, ywz4010, ty_@0) → new_esEs11(ywz5010, ywz4010)
new_ltEs20(ywz5012, ywz4012, ty_Integer) → new_ltEs14(ywz5012, ywz4012)
new_lt7(ywz5010, ywz4010, app(ty_[], df)) → new_lt16(ywz5010, ywz4010, df)
new_ltEs5(ywz5011, ywz4011, app(ty_Maybe, dh)) → new_ltEs8(ywz5011, ywz4011, dh)
new_mkBalBranch6MkBalBranch5(ywz250, ywz251, ywz254, ywz181, True, bc, bd, be) → new_mkBranch(Zero, ywz250, ywz251, ywz181, ywz254, app(app(ty_@2, bc), bd), be)
new_mkBalBranch6MkBalBranch5(ywz250, ywz251, ywz254, ywz181, False, bc, bd, be) → new_mkBalBranch6MkBalBranch4(ywz250, ywz251, ywz254, ywz181, new_gt1(new_mkBalBranch6Size_r(ywz250, ywz251, ywz254, ywz181, bc, bd, be), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_l(ywz250, ywz251, ywz254, ywz181, bc, bd, be))), bc, bd, be)
new_esEs22(ywz5010, ywz4010, app(app(ty_@2, cce), ccf)) → new_esEs7(ywz5010, ywz4010, cce, ccf)
new_ltEs16(ywz501, ywz401, cag) → new_not(new_esEs8(new_compare5(ywz501, ywz401, cag), GT))
new_esEs32(ywz500, ywz400, ty_Bool) → new_esEs12(ywz500, ywz400)
new_esEs19(ywz500, ywz400, ty_Float) → new_esEs13(ywz500, ywz400)
new_ltEs5(ywz5011, ywz4011, app(ty_Ratio, fa)) → new_ltEs18(ywz5011, ywz4011, fa)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_addToFM_C4(EmptyFM, ywz20, ywz21, ywz22, bc, bd, be) → Branch(@2(ywz20, ywz21), ywz22, Pos(Succ(Zero)), new_emptyFM(bc, bd, be), new_emptyFM(bc, bd, be))
new_mkBalBranch6Size_l(ywz250, ywz251, ywz254, ywz181, bc, bd, be) → new_sizeFM0(ywz181, bc, bd, be)
new_compare110(ywz500, ywz400, False, bf, bg) → GT
new_ltEs4(@2(ywz5010, ywz5011), @2(ywz4010, ywz4011), cc, cd) → new_pePe(new_lt7(ywz5010, ywz4010, cc), new_asAs(new_esEs9(ywz5010, ywz4010, cc), new_ltEs5(ywz5011, ywz4011, cd)))
new_ltEs19(ywz501, ywz401, ty_Ordering) → new_ltEs6(ywz501, ywz401)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs9(ywz5010, ywz4010, ty_@0) → new_esEs11(ywz5010, ywz4010)
new_esEs32(ywz500, ywz400, app(app(ty_@2, fc), fd)) → new_esEs7(ywz500, ywz400, fc, fd)
new_esEs18(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), cae) → new_asAs(new_esEs28(ywz5000, ywz4000, cae), new_esEs29(ywz5001, ywz4001, cae))
new_lt19(ywz500, ywz400, ty_Int) → new_lt8(ywz500, ywz400)
new_esEs9(ywz5010, ywz4010, app(ty_[], df)) → new_esEs16(ywz5010, ywz4010, df)
new_mkVBalBranch3MkVBalBranch10(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba, bb) → new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), ywz50, ywz9, Branch(ywz740, ywz741, ywz742, ywz743, ywz744), Branch(ywz60, ywz61, ywz62, ywz63, ywz64), app(app(ty_@2, h), ba), bb)
new_lt7(ywz5010, ywz4010, ty_Int) → new_lt8(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, app(app(ty_@2, bag), bah)) → new_esEs7(ywz5000, ywz4000, bag, bah)
new_splitGT20(ywz20, ywz21, ywz22, ywz23, ywz24, ywz25, ywz26, ywz27, True, bc, bd, be) → new_splitGT0(ywz25, ywz26, ywz27, bc, bd, be)
new_ltEs10(Right(ywz5010), Right(ywz4010), cbc, app(ty_Maybe, cgg)) → new_ltEs8(ywz5010, ywz4010, cgg)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs26(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat0(ywz40000, Zero)
new_ltEs6(EQ, GT) → True
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(ty_Ratio, dbc)) → new_esEs18(ywz5000, ywz4000, dbc)
new_esEs8(GT, GT) → True
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat1(Zero, ywz40000)
new_compare32(ywz5000, ywz4000, app(ty_[], bfb)) → new_compare5(ywz5000, ywz4000, bfb)
new_lt7(ywz5010, ywz4010, app(app(app(ty_@3, da), db), dc)) → new_lt5(ywz5010, ywz4010, da, db, dc)
new_lt20(ywz5010, ywz4010, ty_Double) → new_lt17(ywz5010, ywz4010)
new_esEs26(ywz5002, ywz4002, app(app(app(ty_@3, bdf), bdg), bdh)) → new_esEs6(ywz5002, ywz4002, bdf, bdg, bdh)
new_esEs12(False, False) → True
new_esEs8(LT, GT) → False
new_esEs8(GT, LT) → False
new_esEs32(ywz500, ywz400, ty_Double) → new_esEs17(ywz500, ywz400)
new_splitGT20(ywz20, ywz21, ywz22, ywz23, ywz24, ywz25, ywz26, ywz27, False, bc, bd, be) → new_splitGT10(ywz20, ywz21, ywz22, ywz23, ywz24, ywz25, ywz26, ywz27, new_lt14(@2(ywz26, ywz27), @2(ywz20, ywz21), bc, bd), bc, bd, be)
new_addToFM_C0(EmptyFM, ywz50, ywz9, h, ba, bb) → Branch(ywz50, ywz9, Pos(Succ(Zero)), new_emptyFM(h, ba, bb), new_emptyFM(h, ba, bb))
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Bool, cbd) → new_ltEs11(ywz5010, ywz4010)
new_esEs13(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bfh)) → new_esEs18(ywz5000, ywz4000, bfh)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare210(ywz500, ywz400, False) → new_compare111(ywz500, ywz400, new_ltEs6(ywz500, ywz400))
new_ltEs8(Just(ywz5010), Just(ywz4010), app(ty_Ratio, cad)) → new_ltEs18(ywz5010, ywz4010, cad)
new_sizeFM0(Branch(ywz1810, ywz1811, ywz1812, ywz1813, ywz1814), bc, bd, be) → ywz1812
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_ltEs7(ywz501, ywz401) → new_not(new_esEs8(new_compare10(ywz501, ywz401), GT))
new_esEs22(ywz5010, ywz4010, app(app(app(ty_@3, ccb), ccc), ccd)) → new_esEs6(ywz5010, ywz4010, ccb, ccc, ccd)
new_esEs23(ywz5011, ywz4011, ty_Ordering) → new_esEs8(ywz5011, ywz4011)
new_sizeFM1(Branch(ywz3440, ywz3441, ywz3442, ywz3443, ywz3444), bed, bee) → ywz3442
new_esEs5(Left(ywz5000), Left(ywz4000), app(ty_[], dae), bg) → new_esEs16(ywz5000, ywz4000, dae)
new_esEs31(ywz501, ywz401, ty_Int) → new_esEs10(ywz501, ywz401)
new_esEs30(ywz500, ywz400, app(ty_Maybe, fb)) → new_esEs4(ywz500, ywz400, fb)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Ordering, cbd) → new_ltEs6(ywz5010, ywz4010)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_mkBalBranch6Size_r(ywz250, ywz251, ywz254, ywz181, bc, bd, be) → new_sizeFM0(ywz254, bc, bd, be)
new_primCmpNat1(Zero, ywz50000) → LT
new_lt20(ywz5010, ywz4010, app(app(ty_Either, cbh), cca)) → new_lt4(ywz5010, ywz4010, cbh, cca)
new_compare23(ywz500, ywz400, False, bf, bg) → new_compare110(ywz500, ywz400, new_ltEs10(ywz500, ywz400, bf, bg), bf, bg)
new_ltEs5(ywz5011, ywz4011, app(ty_[], eh)) → new_ltEs16(ywz5011, ywz4011, eh)
new_esEs31(ywz501, ywz401, app(app(app(ty_@3, cah), cba), cbb)) → new_esEs6(ywz501, ywz401, cah, cba, cbb)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_ltEs20(ywz5012, ywz4012, ty_Bool) → new_ltEs11(ywz5012, ywz4012)
new_ltEs10(Right(ywz5010), Right(ywz4010), cbc, ty_Int) → new_ltEs7(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, app(app(app(ty_@3, bbb), bbc), bbd)) → new_esEs6(ywz5000, ywz4000, bbb, bbc, bbd)
new_compare12(ywz126, ywz127, ywz128, ywz129, True, cbe, cbf) → LT
new_ltEs6(EQ, EQ) → True
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, hb), hc)) → new_esEs7(ywz5001, ywz4001, hb, hc)
new_compare13(ywz126, ywz127, ywz128, ywz129, True, ywz131, cbe, cbf) → new_compare12(ywz126, ywz127, ywz128, ywz129, True, cbe, cbf)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, bff), bfg)) → new_esEs5(ywz5000, ywz4000, bff, bfg)
new_lt14(ywz50, ywz40, h, ba) → new_esEs8(new_compare15(ywz50, ywz40, h, ba), LT)
new_esEs32(ywz500, ywz400, ty_@0) → new_esEs11(ywz500, ywz400)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_esEs8(EQ, EQ) → True
new_ltEs8(Just(ywz5010), Just(ywz4010), app(app(ty_Either, bhd), bhe)) → new_ltEs10(ywz5010, ywz4010, bhd, bhe)
new_primPlusInt0(ywz18120, Neg(ywz2250)) → new_primMinusNat0(ywz18120, ywz2250)
new_primPlusNat1(Zero, ywz400100) → Succ(ywz400100)
new_mkBalBranch6MkBalBranch4(ywz250, ywz251, Branch(ywz2540, ywz2541, ywz2542, ywz2543, ywz2544), ywz181, True, bc, bd, be) → new_mkBalBranch6MkBalBranch01(ywz250, ywz251, ywz2540, ywz2541, ywz2542, ywz2543, ywz2544, ywz181, new_lt8(new_sizeFM0(ywz2543, bc, bd, be), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM0(ywz2544, bc, bd, be))), bc, bd, be)
new_lt7(ywz5010, ywz4010, ty_Float) → new_lt12(ywz5010, ywz4010)
new_ltEs5(ywz5011, ywz4011, app(app(app(ty_@3, ec), ed), ee)) → new_ltEs13(ywz5011, ywz4011, ec, ed, ee)
new_lt20(ywz5010, ywz4010, ty_@0) → new_lt10(ywz5010, ywz4010)
new_esEs31(ywz501, ywz401, app(ty_Ratio, caf)) → new_esEs18(ywz501, ywz401, caf)
new_ltEs6(GT, GT) → True
new_splitGT0(Branch(ywz250, ywz251, ywz252, ywz253, ywz254), ywz26, ywz27, bc, bd, be) → new_splitGT30(ywz250, ywz251, ywz252, ywz253, ywz254, @2(ywz26, ywz27), bc, bd, be)
new_lt7(ywz5010, ywz4010, ty_Char) → new_lt15(ywz5010, ywz4010)
new_esEs22(ywz5010, ywz4010, ty_Float) → new_esEs13(ywz5010, ywz4010)
new_compare24(ywz50, ywz40, True, h, ba) → EQ
new_esEs32(ywz500, ywz400, app(ty_[], bec)) → new_esEs16(ywz500, ywz400, bec)
new_esEs31(ywz501, ywz401, app(app(ty_Either, cbc), cbd)) → new_esEs5(ywz501, ywz401, cbc, cbd)
new_lt13(ywz500, ywz400) → new_esEs8(new_compare17(ywz500, ywz400), LT)
new_primPlusInt2(Neg(ywz3750), ywz345, ywz344, ywz342, bed, bee) → new_primPlusInt1(ywz3750, new_sizeFM1(ywz345, bed, bee))
new_mkVBalBranch30(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, ywz630, ywz631, ywz632, ywz633, ywz634, h, ba, bb) → new_mkVBalBranch3MkVBalBranch20(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt8(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), new_mkVBalBranch3Size_r(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), h, ba, bb)
new_addToFM0(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, h, ba, bb) → new_addToFM_C30(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, h, ba, bb)
new_esEs26(ywz5002, ywz4002, ty_@0) → new_esEs11(ywz5002, ywz4002)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_esEs30(ywz500, ywz400, ty_Float) → new_esEs13(ywz500, ywz400)
new_lt20(ywz5010, ywz4010, ty_Int) → new_lt8(ywz5010, ywz4010)
new_esEs23(ywz5011, ywz4011, ty_Integer) → new_esEs14(ywz5011, ywz4011)
new_splitLT10(ywz39, ywz40, ywz41, ywz42, ywz43, ywz44, ywz45, ywz46, True, bab, bac, bad) → new_mkVBalBranch(ywz39, ywz40, ywz41, ywz43, new_splitLT0(ywz44, ywz45, ywz46, bab, bac, bad), bab, bac, bad)
new_compare32(ywz5000, ywz4000, ty_Integer) → new_compare17(ywz5000, ywz4000)
new_addToFM_C20(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba, bb) → new_mkBalBranch(ywz740, ywz741, new_addToFM_C0(ywz743, ywz50, ywz9, h, ba, bb), ywz744, h, ba, bb)
new_primPlusInt(Branch(ywz1810, ywz1811, Pos(ywz18120), ywz1813, ywz1814), ywz250, ywz251, ywz254, bc, bd, be) → new_primPlusInt0(ywz18120, new_sizeFM0(ywz254, bc, bd, be))
new_lt20(ywz5010, ywz4010, ty_Integer) → new_lt13(ywz5010, ywz4010)
new_primMinusNat0(Succ(ywz181200), Zero) → Pos(Succ(ywz181200))
new_esEs22(ywz5010, ywz4010, app(ty_Maybe, cbg)) → new_esEs4(ywz5010, ywz4010, cbg)
new_splitLT20(ywz39, ywz40, ywz41, ywz42, ywz43, ywz44, ywz45, ywz46, False, bab, bac, bad) → new_splitLT10(ywz39, ywz40, ywz41, ywz42, ywz43, ywz44, ywz45, ywz46, new_esEs8(new_compare15(@2(ywz45, ywz46), @2(ywz39, ywz40), bab, bac), GT), bab, bac, bad)
new_compare5(:(ywz5000, ywz5001), [], bec) → GT
new_esEs25(ywz5001, ywz4001, app(ty_Maybe, bbh)) → new_esEs4(ywz5001, ywz4001, bbh)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_mkBalBranch6MkBalBranch01(ywz250, ywz251, ywz2540, ywz2541, ywz2542, EmptyFM, ywz2544, ywz181, False, bc, bd, be) → error([])
new_esEs9(ywz5010, ywz4010, app(app(ty_@2, dd), de)) → new_esEs7(ywz5010, ywz4010, dd, de)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_ltEs11(True, False) → False
new_esEs5(Left(ywz5000), Left(ywz4000), ty_@0, bg) → new_esEs11(ywz5000, ywz4000)
new_compare14(ywz500, ywz400, False, fb) → GT
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(app(ty_Either, dcc), dcd)) → new_esEs5(ywz5000, ywz4000, dcc, dcd)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs10(Right(ywz5010), Right(ywz4010), cbc, app(app(app(ty_@3, chb), chc), chd)) → new_ltEs13(ywz5010, ywz4010, chb, chc, chd)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_splitGT10(ywz20, ywz21, ywz22, ywz23, ywz24, ywz25, ywz26, ywz27, True, bc, bd, be) → new_mkVBalBranch(ywz20, ywz21, ywz22, new_splitGT0(ywz24, ywz26, ywz27, bc, bd, be), ywz25, bc, bd, be)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Char, bg) → new_esEs15(ywz5000, ywz4000)
new_esEs33(ywz501, ywz401, app(ty_Ratio, caf)) → new_esEs18(ywz501, ywz401, caf)
new_esEs19(ywz500, ywz400, app(app(app(ty_@3, bh), ca), cb)) → new_esEs6(ywz500, ywz400, bh, ca, cb)
new_esEs24(ywz5000, ywz4000, app(ty_Ratio, bae)) → new_esEs18(ywz5000, ywz4000, bae)
new_lt21(ywz5011, ywz4011, ty_Int) → new_lt8(ywz5011, ywz4011)
new_lt21(ywz5011, ywz4011, ty_Integer) → new_lt13(ywz5011, ywz4011)
new_sizeFM0(EmptyFM, bc, bd, be) → Pos(Zero)
new_compare5(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bec) → new_primCompAux0(ywz5000, ywz4000, new_compare5(ywz5001, ywz4001, bec), bec)
new_esEs22(ywz5010, ywz4010, ty_Bool) → new_esEs12(ywz5010, ywz4010)
new_esEs30(ywz500, ywz400, app(ty_Ratio, cae)) → new_esEs18(ywz500, ywz400, cae)
new_esEs29(ywz5001, ywz4001, ty_Int) → new_esEs10(ywz5001, ywz4001)
new_primCompAux00(ywz279, LT) → LT
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs10(ywz5000, ywz4000)
new_ltEs10(Left(ywz5010), Left(ywz4010), app(ty_Ratio, cgf), cbd) → new_ltEs18(ywz5010, ywz4010, cgf)
new_addToFM_C10(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba, bb) → new_mkBalBranch(ywz740, ywz741, ywz743, new_addToFM_C0(ywz744, ywz50, ywz9, h, ba, bb), h, ba, bb)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Float) → new_ltEs12(ywz5010, ywz4010)
new_mkBalBranch6MkBalBranch11(ywz250, ywz251, ywz254, ywz1810, ywz1811, ywz1812, ywz1813, EmptyFM, False, bc, bd, be) → error([])
new_ltEs8(Just(ywz5010), Nothing, bhb) → False
new_esEs24(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_ltEs10(Right(ywz5010), Right(ywz4010), cbc, app(app(ty_Either, cgh), cha)) → new_ltEs10(ywz5010, ywz4010, cgh, cha)
new_esEs22(ywz5010, ywz4010, ty_Char) → new_esEs15(ywz5010, ywz4010)
new_mkBalBranch(ywz250, ywz251, ywz181, ywz254, bc, bd, be) → new_mkBalBranch6MkBalBranch5(ywz250, ywz251, ywz254, ywz181, new_lt8(new_primPlusInt(ywz181, ywz250, ywz251, ywz254, bc, bd, be), Pos(Succ(Succ(Zero)))), bc, bd, be)
new_lt21(ywz5011, ywz4011, app(ty_Maybe, cda)) → new_lt9(ywz5011, ywz4011, cda)
new_compare27(ywz500, ywz400) → new_compare28(ywz500, ywz400, new_esEs12(ywz500, ywz400))
new_ltEs5(ywz5011, ywz4011, ty_@0) → new_ltEs9(ywz5011, ywz4011)
new_compare32(ywz5000, ywz4000, app(ty_Ratio, bef)) → new_compare19(ywz5000, ywz4000, bef)
new_esEs8(LT, EQ) → False
new_esEs8(EQ, LT) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_mkBalBranch6MkBalBranch11(ywz250, ywz251, ywz254, ywz1810, ywz1811, ywz1812, ywz1813, Branch(ywz18140, ywz18141, ywz18142, ywz18143, ywz18144), False, bc, bd, be) → new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), ywz18140, ywz18141, new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), ywz1810, ywz1811, ywz1813, ywz18143, app(app(ty_@2, bc), bd), be), new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), ywz250, ywz251, ywz18144, ywz254, app(app(ty_@2, bc), bd), be), app(app(ty_@2, bc), bd), be)
new_mkBalBranch6MkBalBranch11(ywz250, ywz251, ywz254, ywz1810, ywz1811, ywz1812, ywz1813, ywz1814, True, bc, bd, be) → new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), ywz1810, ywz1811, ywz1813, new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), ywz250, ywz251, ywz1814, ywz254, app(app(ty_@2, bc), bd), be), app(app(ty_@2, bc), bd), be)
new_primPlusNat0(Succ(ywz21700), Zero) → Succ(ywz21700)
new_primPlusNat0(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_esEs22(ywz5010, ywz4010, ty_Integer) → new_esEs14(ywz5010, ywz4010)
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bh, ca, cb) → new_asAs(new_esEs24(ywz5000, ywz4000, bh), new_asAs(new_esEs25(ywz5001, ywz4001, ca), new_esEs26(ywz5002, ywz4002, cb)))
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bgh), bha)) → new_esEs5(ywz5000, ywz4000, bgh, bha)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, gf), gg)) → new_esEs5(ywz5000, ywz4000, gf, gg)
new_esEs23(ywz5011, ywz4011, ty_Float) → new_esEs13(ywz5011, ywz4011)
new_ltEs10(Right(ywz5010), Right(ywz4010), cbc, ty_Integer) → new_ltEs14(ywz5010, ywz4010)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Float, bg) → new_esEs13(ywz5000, ywz4000)
new_lt7(ywz5010, ywz4010, app(app(ty_@2, dd), de)) → new_lt14(ywz5010, ywz4010, dd, de)
new_sr0(Integer(ywz40000), Integer(ywz50010)) → Integer(new_primMulInt(ywz40000, ywz50010))
new_esEs32(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_mkVBalBranch3MkVBalBranch20(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba, bb) → new_mkVBalBranch3MkVBalBranch10(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt8(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), new_mkVBalBranch3Size_l(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), h, ba, bb)
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_esEs5(Left(ywz5000), Left(ywz4000), app(ty_Ratio, daa), bg) → new_esEs18(ywz5000, ywz4000, daa)
new_esEs25(ywz5001, ywz4001, ty_Int) → new_esEs10(ywz5001, ywz4001)
new_esEs32(ywz500, ywz400, app(app(ty_Either, bf), bg)) → new_esEs5(ywz500, ywz400, bf, bg)
new_lt19(ywz500, ywz400, app(app(app(ty_@3, bh), ca), cb)) → new_lt5(ywz500, ywz400, bh, ca, cb)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Ordering) → new_ltEs6(ywz5010, ywz4010)
new_esEs9(ywz5010, ywz4010, app(app(ty_Either, cf), cg)) → new_esEs5(ywz5010, ywz4010, cf, cg)
new_primCmpNat2(Zero, Succ(ywz400000)) → LT
new_esEs33(ywz501, ywz401, ty_Integer) → new_esEs14(ywz501, ywz401)
new_esEs26(ywz5002, ywz4002, ty_Int) → new_esEs10(ywz5002, ywz4002)
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primCompAux00(ywz279, EQ) → ywz279
new_esEs23(ywz5011, ywz4011, ty_Double) → new_esEs17(ywz5011, ywz4011)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_gt1(ywz230, ywz229) → new_esEs8(new_compare10(ywz230, ywz229), GT)
new_lt7(ywz5010, ywz4010, app(ty_Maybe, ce)) → new_lt9(ywz5010, ywz4010, ce)
new_esEs30(ywz500, ywz400, ty_Bool) → new_esEs12(ywz500, ywz400)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Double, bg) → new_esEs17(ywz5000, ywz4000)
new_ltEs5(ywz5011, ywz4011, ty_Double) → new_ltEs17(ywz5011, ywz4011)
new_esEs8(EQ, GT) → False
new_esEs8(GT, EQ) → False
new_primPlusInt1(ywz18120, Neg(ywz2260)) → Neg(new_primPlusNat0(ywz18120, ywz2260))
new_ltEs19(ywz501, ywz401, app(app(app(ty_@3, cah), cba), cbb)) → new_ltEs13(ywz501, ywz401, cah, cba, cbb)
new_splitLT20(ywz39, ywz40, ywz41, ywz42, ywz43, ywz44, ywz45, ywz46, True, bab, bac, bad) → new_splitLT0(ywz43, ywz45, ywz46, bab, bac, bad)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_lt21(ywz5011, ywz4011, ty_@0) → new_lt10(ywz5011, ywz4011)
new_lt15(ywz500, ywz400) → new_esEs8(new_compare31(ywz500, ywz400), LT)
new_compare26(ywz500, ywz400, True, fb) → EQ
new_esEs9(ywz5010, ywz4010, ty_Ordering) → new_esEs8(ywz5010, ywz4010)
new_ltEs10(Left(ywz5010), Left(ywz4010), app(app(ty_@2, cgc), cgd), cbd) → new_ltEs4(ywz5010, ywz4010, cgc, cgd)
new_compare9(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_ltEs13(@3(ywz5010, ywz5011, ywz5012), @3(ywz4010, ywz4011, ywz4012), cah, cba, cbb) → new_pePe(new_lt20(ywz5010, ywz4010, cah), new_asAs(new_esEs22(ywz5010, ywz4010, cah), new_pePe(new_lt21(ywz5011, ywz4011, cba), new_asAs(new_esEs23(ywz5011, ywz4011, cba), new_ltEs20(ywz5012, ywz4012, cbb)))))
new_not(False) → True
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs11(ywz5000, ywz4000)
new_ltEs18(ywz501, ywz401, caf) → new_not(new_esEs8(new_compare19(ywz501, ywz401, caf), GT))
new_mkVBalBranch3Size_r(ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb) → new_sizeFM(ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb)
new_esEs31(ywz501, ywz401, ty_Char) → new_esEs15(ywz501, ywz401)
new_esEs19(ywz500, ywz400, app(app(ty_@2, fc), fd)) → new_esEs7(ywz500, ywz400, fc, fd)
new_esEs30(ywz500, ywz400, app(app(ty_@2, fc), fd)) → new_esEs7(ywz500, ywz400, fc, fd)
new_mkVBalBranch3MkVBalBranch10(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba, bb) → new_mkBalBranch(ywz740, ywz741, ywz743, new_mkVBalBranch1(ywz50, ywz9, ywz744, ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb), h, ba, bb)
new_esEs26(ywz5002, ywz4002, app(ty_Ratio, bda)) → new_esEs18(ywz5002, ywz4002, bda)
new_ltEs5(ywz5011, ywz4011, ty_Integer) → new_ltEs14(ywz5011, ywz4011)
new_esEs32(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Char, cbd) → new_ltEs15(ywz5010, ywz4010)
new_lt19(ywz500, ywz400, ty_Bool) → new_lt11(ywz500, ywz400)
new_mkVBalBranch(ywz20, ywz21, ywz22, EmptyFM, ywz25, bc, bd, be) → new_addToFM(ywz25, ywz20, ywz21, ywz22, bc, bd, be)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt12(ywz500, ywz400) → new_esEs8(new_compare9(ywz500, ywz400), LT)
new_esEs19(ywz500, ywz400, ty_Double) → new_esEs17(ywz500, ywz400)
new_ltEs8(Just(ywz5010), Just(ywz4010), app(ty_[], cac)) → new_ltEs16(ywz5010, ywz4010, cac)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Double, cbd) → new_ltEs17(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_ltEs11(False, False) → True
new_compare28(ywz500, ywz400, True) → EQ
new_compare7(ywz500, ywz400, bh, ca, cb) → new_compare25(ywz500, ywz400, new_esEs6(ywz500, ywz400, bh, ca, cb), bh, ca, cb)
new_ltEs5(ywz5011, ywz4011, ty_Float) → new_ltEs12(ywz5011, ywz4011)
new_mkBalBranch6MkBalBranch01(ywz250, ywz251, ywz2540, ywz2541, ywz2542, ywz2543, ywz2544, ywz181, True, bc, bd, be) → new_mkBranch(Succ(Succ(Zero)), ywz2540, ywz2541, new_mkBranch(Succ(Succ(Succ(Zero))), ywz250, ywz251, ywz181, ywz2543, app(app(ty_@2, bc), bd), be), ywz2544, app(app(ty_@2, bc), bd), be)
new_esEs26(ywz5002, ywz4002, app(app(ty_Either, bea), beb)) → new_esEs5(ywz5002, ywz4002, bea, beb)
new_lt19(ywz500, ywz400, app(ty_Ratio, cae)) → new_lt18(ywz500, ywz400, cae)
new_mkVBalBranch(ywz20, ywz21, ywz22, Branch(ywz860, ywz861, ywz862, ywz863, ywz864), EmptyFM, bc, bd, be) → new_addToFM(Branch(ywz860, ywz861, ywz862, ywz863, ywz864), ywz20, ywz21, ywz22, bc, bd, be)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Char) → new_ltEs15(ywz5010, ywz4010)
new_addToFM_C0(Branch(ywz7430, ywz7431, ywz7432, ywz7433, ywz7434), ywz50, ywz9, h, ba, bb) → new_addToFM_C30(ywz7430, ywz7431, ywz7432, ywz7433, ywz7434, ywz50, ywz9, h, ba, bb)
new_compare32(ywz5000, ywz4000, app(ty_Maybe, beg)) → new_compare18(ywz5000, ywz4000, beg)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_esEs30(ywz500, ywz400, ty_@0) → new_esEs11(ywz500, ywz400)
new_lt21(ywz5011, ywz4011, app(app(ty_@2, cdg), cdh)) → new_lt14(ywz5011, ywz4011, cdg, cdh)
new_esEs33(ywz501, ywz401, app(app(ty_@2, cc), cd)) → new_esEs7(ywz501, ywz401, cc, cd)
new_esEs22(ywz5010, ywz4010, app(ty_[], ccg)) → new_esEs16(ywz5010, ywz4010, ccg)
new_ltEs19(ywz501, ywz401, app(ty_[], cag)) → new_ltEs16(ywz501, ywz401, cag)
new_lt7(ywz5010, ywz4010, app(app(ty_Either, cf), cg)) → new_lt4(ywz5010, ywz4010, cf, cg)
new_compare32(ywz5000, ywz4000, ty_Ordering) → new_compare8(ywz5000, ywz4000)
new_esEs29(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_lt19(ywz500, ywz400, app(app(ty_@2, fc), fd)) → new_lt14(ywz500, ywz400, fc, fd)
new_ltEs10(Right(ywz5010), Right(ywz4010), cbc, ty_Double) → new_ltEs17(ywz5010, ywz4010)
new_esEs9(ywz5010, ywz4010, app(ty_Ratio, dg)) → new_esEs18(ywz5010, ywz4010, dg)
new_esEs33(ywz501, ywz401, ty_Ordering) → new_esEs8(ywz501, ywz401)
new_esEs22(ywz5010, ywz4010, ty_Int) → new_esEs10(ywz5010, ywz4010)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(ty_[], dbg)) → new_esEs16(ywz5000, ywz4000, dbg)
new_esEs5(Left(ywz5000), Right(ywz4000), bf, bg) → False
new_esEs5(Right(ywz5000), Left(ywz4000), bf, bg) → False
new_ltEs19(ywz501, ywz401, app(ty_Maybe, bhb)) → new_ltEs8(ywz501, ywz401, bhb)
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_primCmpNat2(Zero, Zero) → EQ
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_mkBalBranch6MkBalBranch4(ywz250, ywz251, EmptyFM, ywz181, True, bc, bd, be) → error([])
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Integer) → new_ltEs14(ywz5010, ywz4010)
new_primPlusNat0(Zero, Zero) → Zero
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_esEs26(ywz5002, ywz4002, app(app(ty_@2, bdc), bdd)) → new_esEs7(ywz5002, ywz4002, bdc, bdd)
new_ltEs6(LT, LT) → True
new_compare28(ywz500, ywz400, False) → new_compare11(ywz500, ywz400, new_ltEs11(ywz500, ywz400))
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Integer, bg) → new_esEs14(ywz5000, ywz4000)
new_ltEs6(EQ, LT) → False
new_ltEs20(ywz5012, ywz4012, ty_Char) → new_ltEs15(ywz5012, ywz4012)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs23(ywz5011, ywz4011, app(ty_Ratio, ceb)) → new_esEs18(ywz5011, ywz4011, ceb)
new_esEs4(Nothing, Nothing, fb) → True
new_ltEs20(ywz5012, ywz4012, ty_Int) → new_ltEs7(ywz5012, ywz4012)
new_lt19(ywz500, ywz400, ty_Double) → new_lt17(ywz500, ywz400)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat0(ywz50000, ywz4000)
new_primCmpNat2(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat2(ywz500000, ywz400000)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, bfc), bfd), bfe)) → new_esEs6(ywz5000, ywz4000, bfc, bfd, bfe)
new_compare32(ywz5000, ywz4000, ty_Char) → new_compare31(ywz5000, ywz4000)
new_ltEs10(Right(ywz5010), Right(ywz4010), cbc, app(ty_[], chg)) → new_ltEs16(ywz5010, ywz4010, chg)
new_esEs33(ywz501, ywz401, ty_Int) → new_esEs10(ywz501, ywz401)
new_esEs11(@0, @0) → True
new_compare210(ywz500, ywz400, True) → EQ
new_esEs25(ywz5001, ywz4001, ty_@0) → new_esEs11(ywz5001, ywz4001)
new_primPlusInt2(Pos(ywz3750), ywz345, ywz344, ywz342, bed, bee) → new_primPlusInt0(ywz3750, new_sizeFM1(ywz345, bed, bee))
new_compare32(ywz5000, ywz4000, ty_@0) → new_compare29(ywz5000, ywz4000)
new_esEs16([], :(ywz4000, ywz4001), bec) → False
new_esEs16(:(ywz5000, ywz5001), [], bec) → False
new_primCmpNat0(ywz50000, Zero) → GT
new_compare30(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare10(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, beg)) → new_esEs4(ywz5000, ywz4000, beg)
new_mkBalBranch6MkBalBranch3(ywz250, ywz251, ywz254, EmptyFM, True, bc, bd, be) → error([])
new_ltEs20(ywz5012, ywz4012, ty_Double) → new_ltEs17(ywz5012, ywz4012)
new_ltEs20(ywz5012, ywz4012, app(app(ty_Either, ced), cee)) → new_ltEs10(ywz5012, ywz4012, ced, cee)
new_primPlusNat1(Succ(ywz2170), ywz400100) → Succ(Succ(new_primPlusNat0(ywz2170, ywz400100)))
new_compare16(ywz500, ywz400, True, bh, ca, cb) → LT
new_compare13(ywz126, ywz127, ywz128, ywz129, False, ywz131, cbe, cbf) → new_compare12(ywz126, ywz127, ywz128, ywz129, ywz131, cbe, cbf)
new_compare32(ywz5000, ywz4000, ty_Int) → new_compare10(ywz5000, ywz4000)
new_primMinusNat0(Zero, Zero) → Pos(Zero)
new_compare23(ywz500, ywz400, True, bf, bg) → EQ
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare8(ywz500, ywz400) → new_compare210(ywz500, ywz400, new_esEs8(ywz500, ywz400))
new_lt8(ywz500, ywz400) → new_esEs8(new_compare10(ywz500, ywz400), LT)
new_esEs32(ywz500, ywz400, ty_Float) → new_esEs13(ywz500, ywz400)
new_esEs25(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_lt7(ywz5010, ywz4010, ty_Ordering) → new_lt6(ywz5010, ywz4010)
new_lt20(ywz5010, ywz4010, app(ty_Maybe, cbg)) → new_lt9(ywz5010, ywz4010, cbg)
new_mkVBalBranch0(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, Branch(ywz630, ywz631, ywz632, ywz633, ywz634), h, ba, bb) → new_mkVBalBranch30(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, ywz630, ywz631, ywz632, ywz633, ywz634, h, ba, bb)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], bgd)) → new_esEs16(ywz5000, ywz4000, bgd)
new_sIZE_RATIO → Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_ltEs20(ywz5012, ywz4012, app(app(app(ty_@3, cef), ceg), ceh)) → new_ltEs13(ywz5012, ywz4012, cef, ceg, ceh)
new_lt7(ywz5010, ywz4010, ty_Integer) → new_lt13(ywz5010, ywz4010)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs18(ywz5000, ywz4000, ff)
new_emptyFM(h, ba, bb) → EmptyFM
new_splitLT30(@2(ywz400, ywz401), ywz41, ywz42, ywz43, ywz44, @2(ywz500, ywz501), h, ba, bb) → new_splitLT20(ywz400, ywz401, ywz41, ywz42, ywz43, ywz44, ywz500, ywz501, new_esEs8(new_compare24(@2(ywz500, ywz501), @2(ywz400, ywz401), new_asAs(new_esEs30(ywz500, ywz400, h), new_esEs31(ywz501, ywz401, ba)), h, ba), LT), h, ba, bb)
new_esEs30(ywz500, ywz400, app(ty_[], bec)) → new_esEs16(ywz500, ywz400, bec)
new_lt19(ywz500, ywz400, app(app(ty_Either, bf), bg)) → new_lt4(ywz500, ywz400, bf, bg)
new_compare5([], :(ywz4000, ywz4001), bec) → LT
new_ltEs20(ywz5012, ywz4012, app(ty_[], cfc)) → new_ltEs16(ywz5012, ywz4012, cfc)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, ha)) → new_esEs4(ywz5001, ywz4001, ha)
new_ltEs10(Right(ywz5010), Right(ywz4010), cbc, ty_Bool) → new_ltEs11(ywz5010, ywz4010)
new_ltEs9(ywz501, ywz401) → new_not(new_esEs8(new_compare29(ywz501, ywz401), GT))
new_lt20(ywz5010, ywz4010, app(ty_[], ccg)) → new_lt16(ywz5010, ywz4010, ccg)
new_esEs5(Left(ywz5000), Left(ywz4000), ty_Int, bg) → new_esEs10(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), app(app(ty_@2, dac), dad), bg) → new_esEs7(ywz5000, ywz4000, dac, dad)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs13(ywz5001, ywz4001)
new_mkBalBranch6MkBalBranch3(ywz250, ywz251, ywz254, ywz181, False, bc, bd, be) → new_mkBranch(Succ(Zero), ywz250, ywz251, ywz181, ywz254, app(app(ty_@2, bc), bd), be)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_esEs25(ywz5001, ywz4001, ty_Bool) → new_esEs12(ywz5001, ywz4001)
new_ltEs12(ywz501, ywz401) → new_not(new_esEs8(new_compare9(ywz501, ywz401), GT))
new_mkBalBranch6MkBalBranch3(ywz250, ywz251, ywz254, Branch(ywz1810, ywz1811, ywz1812, ywz1813, ywz1814), True, bc, bd, be) → new_mkBalBranch6MkBalBranch11(ywz250, ywz251, ywz254, ywz1810, ywz1811, ywz1812, ywz1813, ywz1814, new_lt8(new_sizeFM0(ywz1814, bc, bd, be), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM0(ywz1813, bc, bd, be))), bc, bd, be)
new_ltEs8(Just(ywz5010), Just(ywz4010), app(ty_Maybe, bhc)) → new_ltEs8(ywz5010, ywz4010, bhc)
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_compare19(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare10(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_esEs20(ywz5000, ywz4000, app(ty_[], gb)) → new_esEs16(ywz5000, ywz4000, gb)
new_asAs(False, ywz117) → False
new_ltEs11(True, True) → True
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_lt5(ywz500, ywz400, bh, ca, cb) → new_esEs8(new_compare7(ywz500, ywz400, bh, ca, cb), LT)
new_sizeFM1(EmptyFM, bed, bee) → Pos(Zero)
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_lt19(ywz500, ywz400, ty_Float) → new_lt12(ywz500, ywz400)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, hh), baa)) → new_esEs5(ywz5001, ywz4001, hh, baa)
new_esEs23(ywz5011, ywz4011, app(app(app(ty_@3, cdd), cde), cdf)) → new_esEs6(ywz5011, ywz4011, cdd, cde, cdf)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5010, ywz4010, app(ty_Maybe, ce)) → new_esEs4(ywz5010, ywz4010, ce)
new_ltEs8(Just(ywz5010), Just(ywz4010), app(app(ty_@2, caa), cab)) → new_ltEs4(ywz5010, ywz4010, caa, cab)
new_compare17(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_esEs5(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, daf), dag), dah), bg) → new_esEs6(ywz5000, ywz4000, daf, dag, dah)
new_esEs16(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bec) → new_asAs(new_esEs27(ywz5000, ywz4000, bec), new_esEs16(ywz5001, ywz4001, bec))
new_esEs9(ywz5010, ywz4010, ty_Bool) → new_esEs12(ywz5010, ywz4010)
new_esEs24(ywz5000, ywz4000, app(ty_[], bba)) → new_esEs16(ywz5000, ywz4000, bba)
new_esEs23(ywz5011, ywz4011, app(app(ty_@2, cdg), cdh)) → new_esEs7(ywz5011, ywz4011, cdg, cdh)
new_esEs32(ywz500, ywz400, ty_Int) → new_esEs10(ywz500, ywz400)
new_esEs33(ywz501, ywz401, ty_Char) → new_esEs15(ywz501, ywz401)
new_primCmpNat1(Succ(ywz40000), ywz50000) → new_primCmpNat2(ywz40000, ywz50000)
new_esEs31(ywz501, ywz401, ty_Double) → new_esEs17(ywz501, ywz401)
new_compare32(ywz5000, ywz4000, ty_Double) → new_compare30(ywz5000, ywz4000)
new_primCmpNat2(Succ(ywz500000), Zero) → GT
new_compare32(ywz5000, ywz4000, app(app(ty_Either, bff), bfg)) → new_compare6(ywz5000, ywz4000, bff, bfg)
new_compare14(ywz500, ywz400, True, fb) → LT
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs25(ywz5001, ywz4001, app(app(app(ty_@3, bcd), bce), bcf)) → new_esEs6(ywz5001, ywz4001, bcd, bce, bcf)
new_esEs24(ywz5000, ywz4000, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_lt20(ywz5010, ywz4010, app(ty_Ratio, cch)) → new_lt18(ywz5010, ywz4010, cch)
new_addToFM(ywz25, ywz20, ywz21, ywz22, bc, bd, be) → new_addToFM_C4(ywz25, ywz20, ywz21, ywz22, bc, bd, be)
new_ltEs6(LT, GT) → True
new_esEs30(ywz500, ywz400, app(app(ty_Either, bf), bg)) → new_esEs5(ywz500, ywz400, bf, bg)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs12(False, True) → False
new_esEs12(True, False) → False
new_esEs33(ywz501, ywz401, ty_@0) → new_esEs11(ywz501, ywz401)
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_primMinusNat0(Zero, Succ(ywz22500)) → Neg(Succ(ywz22500))
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs12(ywz5000, ywz4000)
new_compare24(@2(ywz500, ywz501), @2(ywz400, ywz401), False, h, ba) → new_compare13(ywz500, ywz501, ywz400, ywz401, new_lt19(ywz500, ywz400, h), new_asAs(new_esEs19(ywz500, ywz400, h), new_ltEs19(ywz501, ywz401, ba)), h, ba)
new_lt19(ywz500, ywz400, ty_Integer) → new_lt13(ywz500, ywz400)
new_esEs32(ywz500, ywz400, app(app(app(ty_@3, bh), ca), cb)) → new_esEs6(ywz500, ywz400, bh, ca, cb)
new_sizeFM(ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb) → ywz62
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(ty_Maybe, dbd)) → new_esEs4(ywz5000, ywz4000, dbd)
new_splitLT0(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz45, ywz46, bab, bac, bad) → new_splitLT30(ywz430, ywz431, ywz432, ywz433, ywz434, @2(ywz45, ywz46), bab, bac, bad)
new_compare10(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Int, cbd) → new_ltEs7(ywz5010, ywz4010)
new_esEs25(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs19(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_esEs16([], [], bec) → True
new_compare11(ywz500, ywz400, False) → GT
new_mkVBalBranch3MkVBalBranch20(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba, bb) → new_mkBalBranch(ywz60, ywz61, new_mkVBalBranch0(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, ywz63, h, ba, bb), ywz64, h, ba, bb)
new_ltEs8(Nothing, Nothing, bhb) → True
new_esEs31(ywz501, ywz401, ty_Float) → new_esEs13(ywz501, ywz401)
new_addToFM_C4(Branch(ywz250, ywz251, ywz252, ywz253, ywz254), ywz20, ywz21, ywz22, bc, bd, be) → new_addToFM_C20(ywz250, ywz251, ywz252, ywz253, ywz254, @2(ywz20, ywz21), ywz22, new_lt14(@2(ywz20, ywz21), ywz250, bc, bd), bc, bd, be)
new_compare15(ywz50, ywz40, h, ba) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, h, ba), h, ba)
new_ltEs10(Right(ywz5010), Left(ywz4010), cbc, cbd) → False
new_compare11(ywz500, ywz400, True) → LT
new_esEs31(ywz501, ywz401, app(ty_Maybe, bhb)) → new_esEs4(ywz501, ywz401, bhb)
new_esEs5(Left(ywz5000), Left(ywz4000), app(app(ty_Either, dba), dbb), bg) → new_esEs5(ywz5000, ywz4000, dba, dbb)
new_lt21(ywz5011, ywz4011, ty_Char) → new_lt15(ywz5011, ywz4011)
new_ltEs10(Right(ywz5010), Right(ywz4010), cbc, ty_Char) → new_ltEs15(ywz5010, ywz4010)
new_lt21(ywz5011, ywz4011, ty_Double) → new_lt17(ywz5011, ywz4011)
new_esEs33(ywz501, ywz401, app(app(ty_Either, cbc), cbd)) → new_esEs5(ywz501, ywz401, cbc, cbd)
new_ltEs8(Just(ywz5010), Just(ywz4010), ty_Bool) → new_ltEs11(ywz5010, ywz4010)
new_esEs32(ywz500, ywz400, app(ty_Ratio, cae)) → new_esEs18(ywz500, ywz400, cae)
new_ltEs14(ywz501, ywz401) → new_not(new_esEs8(new_compare17(ywz501, ywz401), GT))
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bgb), bgc)) → new_esEs7(ywz5000, ywz4000, bgb, bgc)
new_lt21(ywz5011, ywz4011, ty_Float) → new_lt12(ywz5011, ywz4011)
new_compare18(ywz500, ywz400, fb) → new_compare26(ywz500, ywz400, new_esEs4(ywz500, ywz400, fb), fb)
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_lt9(ywz500, ywz400, fb) → new_esEs8(new_compare18(ywz500, ywz400, fb), LT)
new_lt19(ywz500, ywz400, ty_@0) → new_lt10(ywz500, ywz400)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, fh), ga)) → new_esEs7(ywz5000, ywz4000, fh, ga)
new_lt20(ywz5010, ywz4010, app(app(app(ty_@3, ccb), ccc), ccd)) → new_lt5(ywz5010, ywz4010, ccb, ccc, ccd)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, app(app(ty_@2, dbe), dbf)) → new_esEs7(ywz5000, ywz4000, dbe, dbf)
new_primPlusNat0(Succ(ywz21700), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat0(ywz21700, ywz4001000)))
new_lt4(ywz500, ywz400, bf, bg) → new_esEs8(new_compare6(ywz500, ywz400, bf, bg), LT)
new_esEs9(ywz5010, ywz4010, app(app(app(ty_@3, da), db), dc)) → new_esEs6(ywz5010, ywz4010, da, db, dc)
new_esEs23(ywz5011, ywz4011, app(ty_[], cea)) → new_esEs16(ywz5011, ywz4011, cea)
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs11(ywz5001, ywz4001)
new_compare31(Char(ywz5000), Char(ywz4000)) → new_primCmpNat2(ywz5000, ywz4000)
new_esEs19(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_ltEs6(LT, EQ) → True
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_ltEs6(GT, LT) → False
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_asAs(True, ywz117) → ywz117
new_esEs19(ywz500, ywz400, ty_@0) → new_esEs11(ywz500, ywz400)
new_ltEs19(ywz501, ywz401, ty_Float) → new_ltEs12(ywz501, ywz401)
new_ltEs19(ywz501, ywz401, ty_@0) → new_ltEs9(ywz501, ywz401)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs10(ywz5000, ywz4000)
new_esEs33(ywz501, ywz401, ty_Bool) → new_esEs12(ywz501, ywz401)
new_esEs31(ywz501, ywz401, ty_Bool) → new_esEs12(ywz501, ywz401)
new_esEs23(ywz5011, ywz4011, ty_Int) → new_esEs10(ywz5011, ywz4011)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs10(ywz5001, ywz4001)
new_lt20(ywz5010, ywz4010, ty_Char) → new_lt15(ywz5010, ywz4010)
new_esEs33(ywz501, ywz401, app(ty_Maybe, bhb)) → new_esEs4(ywz501, ywz401, bhb)
new_esEs24(ywz5000, ywz4000, ty_Float) → new_esEs13(ywz5000, ywz4000)
new_ltEs17(ywz501, ywz401) → new_not(new_esEs8(new_compare30(ywz501, ywz401), GT))
new_addToFM_C10(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba, bb) → Branch(ywz50, ywz9, ywz742, ywz743, ywz744)
new_esEs19(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_ltEs5(ywz5011, ywz4011, ty_Ordering) → new_ltEs6(ywz5011, ywz4011)
new_compare5([], [], bec) → EQ
new_ltEs10(Right(ywz5010), Right(ywz4010), cbc, ty_Ordering) → new_ltEs6(ywz5010, ywz4010)
new_mkVBalBranch1(ywz50, ywz9, Branch(ywz7440, ywz7441, ywz7442, ywz7443, ywz7444), ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb) → new_mkVBalBranch30(ywz50, ywz9, ywz7440, ywz7441, ywz7442, ywz7443, ywz7444, ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb)
new_ltEs20(ywz5012, ywz4012, ty_@0) → new_ltEs9(ywz5012, ywz4012)
new_ltEs20(ywz5012, ywz4012, ty_Ordering) → new_ltEs6(ywz5012, ywz4012)
new_lt17(ywz500, ywz400) → new_esEs8(new_compare30(ywz500, ywz400), LT)
new_esEs30(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_primPlusInt(Branch(ywz1810, ywz1811, Neg(ywz18120), ywz1813, ywz1814), ywz250, ywz251, ywz254, bc, bd, be) → new_primPlusInt1(ywz18120, new_sizeFM0(ywz254, bc, bd, be))
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs12(ywz5001, ywz4001)
new_esEs22(ywz5010, ywz4010, app(app(ty_Either, cbh), cca)) → new_esEs5(ywz5010, ywz4010, cbh, cca)
new_esEs10(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_primCompAux00(ywz279, GT) → GT
new_ltEs5(ywz5011, ywz4011, ty_Bool) → new_ltEs11(ywz5011, ywz4011)
new_esEs30(ywz500, ywz400, app(app(app(ty_@3, bh), ca), cb)) → new_esEs6(ywz500, ywz400, bh, ca, cb)
new_ltEs10(Left(ywz5010), Left(ywz4010), ty_Integer, cbd) → new_ltEs14(ywz5010, ywz4010)
new_ltEs10(Right(ywz5010), Right(ywz4010), cbc, ty_@0) → new_ltEs9(ywz5010, ywz4010)
new_compare19(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare17(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_esEs21(ywz5001, ywz4001, app(ty_[], hd)) → new_esEs16(ywz5001, ywz4001, hd)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_mkVBalBranch1(ywz50, ywz9, EmptyFM, ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb) → new_addToFM0(ywz60, ywz61, ywz62, ywz63, ywz64, ywz50, ywz9, h, ba, bb)
new_esEs5(Right(ywz5000), Right(ywz4000), bf, ty_@0) → new_esEs11(ywz5000, ywz4000)
new_mkBalBranch6MkBalBranch4(ywz250, ywz251, ywz254, ywz181, False, bc, bd, be) → new_mkBalBranch6MkBalBranch3(ywz250, ywz251, ywz254, ywz181, new_gt1(new_mkBalBranch6Size_l(ywz250, ywz251, ywz254, ywz181, bc, bd, be), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_r(ywz250, ywz251, ywz254, ywz181, bc, bd, be))), bc, bd, be)
new_lt19(ywz500, ywz400, ty_Char) → new_lt15(ywz500, ywz400)
new_lt7(ywz5010, ywz4010, ty_@0) → new_lt10(ywz5010, ywz4010)
new_ltEs10(Right(ywz5010), Right(ywz4010), cbc, app(ty_Ratio, chh)) → new_ltEs18(ywz5010, ywz4010, chh)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_esEs30(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_esEs31(ywz501, ywz401, app(app(ty_@2, cc), cd)) → new_esEs7(ywz501, ywz401, cc, cd)
new_ltEs19(ywz501, ywz401, ty_Bool) → new_ltEs11(ywz501, ywz401)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs18(ywz5001, ywz4001, gh)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_primMinusNat0(Succ(ywz181200), Succ(ywz22500)) → new_primMinusNat0(ywz181200, ywz22500)
new_ltEs19(x0, x1, ty_Double)
new_sr(x0, x1)
new_primMinusNat0(Succ(x0), Succ(x1))
new_lt20(x0, x1, app(ty_[], x2))
new_mkVBalBranch3MkVBalBranch10(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13, x14)
new_compare12(x0, x1, x2, x3, True, x4, x5)
new_esEs33(x0, x1, app(ty_[], x2))
new_primCmpNat1(Succ(x0), x1)
new_esEs20(x0, x1, ty_Double)
new_esEs9(x0, x1, app(ty_[], x2))
new_compare10(x0, x1)
new_primMinusNat0(Zero, Zero)
new_compare32(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_Ordering)
new_addToFM_C0(Branch(x0, x1, x2, x3, x4), x5, x6, x7, x8, x9)
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, Branch(x5, x6, x7, x8, x9), x10, x11, False, x12, x13, x14)
new_ltEs10(Right(x0), Right(x1), x2, ty_Double)
new_esEs30(x0, x1, ty_Double)
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_ltEs20(x0, x1, app(ty_[], x2))
new_sizeFM1(EmptyFM, x0, x1)
new_esEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs21(x0, x1, ty_Int)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Int)
new_lt10(x0, x1)
new_primPlusNat1(Succ(x0), x1)
new_compare7(x0, x1, x2, x3, x4)
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_compare32(x0, x1, ty_Integer)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Char)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_primCompAux00(x0, EQ)
new_ltEs10(Right(x0), Left(x1), x2, x3)
new_ltEs10(Left(x0), Right(x1), x2, x3)
new_esEs12(False, False)
new_lt19(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Char)
new_mkBalBranch6Size_r(x0, x1, x2, x3, x4, x5, x6)
new_mkBalBranch6MkBalBranch5(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs27(x0, x1, ty_Bool)
new_esEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primMulNat0(Succ(x0), Zero)
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat0(Zero, Succ(x0))
new_esEs33(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(x0, x1, ty_@0)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9, x10)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_mkBalBranch6MkBalBranch3(x0, x1, x2, Branch(x3, x4, x5, x6, x7), True, x8, x9, x10)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs11(@0, @0)
new_esEs7(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare26(x0, x1, True, x2)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs30(x0, x1, ty_Ordering)
new_compare6(x0, x1, x2, x3)
new_mkBalBranch6MkBalBranch3(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs30(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_esEs8(GT, GT)
new_esEs19(x0, x1, ty_Char)
new_mkVBalBranch1(x0, x1, Branch(x2, x3, x4, x5, x6), x7, x8, x9, x10, x11, x12, x13, x14)
new_esEs32(x0, x1, ty_Double)
new_primPlusInt0(x0, Neg(x1))
new_esEs33(x0, x1, app(app(ty_Either, x2), x3))
new_lt21(x0, x1, app(ty_Maybe, x2))
new_compare32(x0, x1, ty_Float)
new_esEs8(LT, LT)
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(Left(x0), Left(x1), ty_Double, x2)
new_primEqNat0(Succ(x0), Succ(x1))
new_primCmpNat0(x0, Zero)
new_ltEs19(x0, x1, app(ty_[], x2))
new_compare26(x0, x1, False, x2)
new_compare110(x0, x1, False, x2, x3)
new_esEs19(x0, x1, ty_Float)
new_esEs31(x0, x1, ty_Bool)
new_primPlusInt(Branch(x0, x1, Neg(x2), x3, x4), x5, x6, x7, x8, x9, x10)
new_ltEs20(x0, x1, ty_Int)
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6, x7)
new_ltEs10(Left(x0), Left(x1), ty_Bool, x2)
new_esEs33(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Bool)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_splitGT10(x0, x1, x2, x3, x4, x5, x6, x7, False, x8, x9, x10)
new_esEs10(x0, x1)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_splitGT30(@2(x0, x1), x2, x3, x4, x5, @2(x6, x7), x8, x9, x10)
new_ltEs9(x0, x1)
new_ltEs6(EQ, EQ)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_compare32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs33(x0, x1, ty_Char)
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, EmptyFM, x5, x6, False, x7, x8, x9)
new_ltEs10(Left(x0), Left(x1), ty_Int, x2)
new_ltEs10(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs20(x0, x1, ty_Integer)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs8(GT, LT)
new_esEs8(LT, GT)
new_mkVBalBranch1(x0, x1, EmptyFM, x2, x3, x4, x5, x6, x7, x8, x9)
new_esEs28(x0, x1, ty_Int)
new_lt21(x0, x1, ty_Bool)
new_primMinusNat0(Succ(x0), Zero)
new_compare14(x0, x1, False, x2)
new_lt19(x0, x1, app(ty_[], x2))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_primPlusInt2(Pos(x0), x1, x2, x3, x4, x5)
new_primCompAux00(x0, LT)
new_esEs4(Just(x0), Just(x1), ty_@0)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_ltEs6(LT, EQ)
new_ltEs6(EQ, LT)
new_compare29(@0, @0)
new_ltEs20(x0, x1, ty_Char)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_addToFM_C20(x0, x1, x2, x3, x4, x5, x6, False, x7, x8, x9)
new_ltEs16(x0, x1, x2)
new_compare32(x0, x1, app(ty_Maybe, x2))
new_esEs5(Right(x0), Right(x1), x2, ty_Int)
new_compare32(x0, x1, ty_Double)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primEqNat0(Zero, Zero)
new_esEs22(x0, x1, ty_Float)
new_esEs4(Nothing, Nothing, x0)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs4(Just(x0), Just(x1), ty_Char)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs10(Left(x0), Left(x1), ty_Float, x2)
new_compare16(x0, x1, True, x2, x3, x4)
new_lt19(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_esEs23(x0, x1, ty_Char)
new_ltEs8(Nothing, Just(x0), x1)
new_esEs23(x0, x1, app(ty_[], x2))
new_compare30(Double(x0, x1), Double(x2, x3))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs29(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Bool)
new_compare32(x0, x1, app(ty_[], x2))
new_primMulNat0(Zero, Zero)
new_ltEs5(x0, x1, ty_Int)
new_lt7(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_lt7(x0, x1, ty_Char)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primPlusInt1(x0, Neg(x1))
new_lt21(x0, x1, ty_Int)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, ty_Char)
new_compare16(x0, x1, False, x2, x3, x4)
new_lt20(x0, x1, ty_Ordering)
new_esEs5(Right(x0), Right(x1), x2, ty_Char)
new_ltEs10(Right(x0), Right(x1), x2, ty_Char)
new_ltEs20(x0, x1, ty_Ordering)
new_ltEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare32(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Integer)
new_lt21(x0, x1, ty_Integer)
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs33(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs19(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Integer)
new_compare28(x0, x1, True)
new_esEs33(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_sIZE_RATIO
new_compare5([], [], x0)
new_esEs5(Right(x0), Right(x1), x2, ty_Integer)
new_esEs31(x0, x1, ty_Double)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_esEs19(x0, x1, app(ty_[], x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs10(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_mkBalBranch6MkBalBranch3(x0, x1, x2, EmptyFM, True, x3, x4, x5)
new_esEs22(x0, x1, app(ty_[], x2))
new_lt21(x0, x1, ty_Char)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_addToFM_C10(x0, x1, x2, x3, x4, x5, x6, False, x7, x8, x9)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_ltEs10(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_addToFM_C0(EmptyFM, x0, x1, x2, x3, x4)
new_lt7(x0, x1, ty_@0)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_primMulInt(Neg(x0), Neg(x1))
new_esEs32(x0, x1, ty_Char)
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt17(x0, x1)
new_esEs24(x0, x1, ty_Double)
new_esEs33(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Double)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
new_ltEs20(x0, x1, ty_Bool)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, ty_Float)
new_esEs28(x0, x1, ty_Integer)
new_esEs16(:(x0, x1), [], x2)
new_sizeFM1(Branch(x0, x1, x2, x3, x4), x5, x6)
new_esEs21(x0, x1, ty_Double)
new_addToFM_C10(x0, x1, x2, x3, x4, x5, x6, True, x7, x8, x9)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_primPlusInt(Branch(x0, x1, Pos(x2), x3, x4), x5, x6, x7, x8, x9, x10)
new_ltEs10(Left(x0), Left(x1), ty_Char, x2)
new_esEs22(x0, x1, ty_Double)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, ty_@0)
new_mkVBalBranch(x0, x1, x2, EmptyFM, x3, x4, x5, x6)
new_esEs23(x0, x1, ty_Float)
new_ltEs10(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs24(x0, x1, ty_@0)
new_splitGT20(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9, x10)
new_compare111(x0, x1, True)
new_compare13(x0, x1, x2, x3, True, x4, x5, x6)
new_ltEs19(x0, x1, ty_Char)
new_esEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_splitLT20(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9, x10)
new_splitLT30(@2(x0, x1), x2, x3, x4, x5, @2(x6, x7), x8, x9, x10)
new_primPlusInt(EmptyFM, x0, x1, x2, x3, x4, x5)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, ty_Integer)
new_esEs32(x0, x1, ty_Integer)
new_esEs5(Right(x0), Right(x1), x2, ty_Double)
new_esEs30(x0, x1, ty_Bool)
new_lt7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(Left(x0), Left(x1), ty_Integer, x2)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(Just(x0), Just(x1), ty_Double)
new_lt19(x0, x1, ty_@0)
new_esEs24(x0, x1, ty_Float)
new_primCmpNat1(Zero, x0)
new_primPlusInt1(x0, Pos(x1))
new_primCmpNat2(Zero, Zero)
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_lt19(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_primPlusNat0(Zero, Zero)
new_esEs33(x0, x1, ty_@0)
new_compare23(x0, x1, True, x2, x3)
new_esEs22(x0, x1, ty_Ordering)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_compare17(Integer(x0), Integer(x1))
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_compare111(x0, x1, False)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare23(x0, x1, False, x2, x3)
new_compare32(x0, x1, ty_Bool)
new_ltEs10(Left(x0), Left(x1), ty_Double, x2)
new_lt7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, False, x12, x13, x14)
new_esEs16([], [], x0)
new_esEs32(x0, x1, ty_Float)
new_compare32(x0, x1, ty_Ordering)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs32(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Int)
new_compare32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare8(x0, x1)
new_esEs25(x0, x1, ty_Integer)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs9(x0, x1, ty_Ordering)
new_lt21(x0, x1, ty_Double)
new_splitGT0(Branch(x0, x1, x2, x3, x4), x5, x6, x7, x8, x9)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_compare32(x0, x1, ty_@0)
new_lt21(x0, x1, ty_Ordering)
new_esEs5(Left(x0), Left(x1), ty_Bool, x2)
new_compare32(x0, x1, app(ty_Ratio, x2))
new_esEs22(x0, x1, ty_@0)
new_primPlusNat1(Zero, x0)
new_esEs25(x0, x1, ty_@0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs5(Right(x0), Right(x1), x2, ty_Bool)
new_esEs26(x0, x1, app(ty_[], x2))
new_compare25(x0, x1, False, x2, x3, x4)
new_lt7(x0, x1, ty_Bool)
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_esEs5(Left(x0), Right(x1), x2, x3)
new_esEs5(Right(x0), Left(x1), x2, x3)
new_mkBalBranch6MkBalBranch4(x0, x1, Branch(x2, x3, x4, x5, x6), x7, True, x8, x9, x10)
new_esEs27(x0, x1, ty_Ordering)
new_esEs12(True, True)
new_esEs5(Right(x0), Right(x1), x2, ty_Float)
new_mkBalBranch6Size_l(x0, x1, x2, x3, x4, x5, x6)
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_@0)
new_sizeFM0(EmptyFM, x0, x1, x2)
new_compare24(@2(x0, x1), @2(x2, x3), False, x4, x5)
new_addToFM_C4(EmptyFM, x0, x1, x2, x3, x4, x5)
new_esEs20(x0, x1, app(ty_[], x2))
new_ltEs10(Left(x0), Left(x1), ty_@0, x2)
new_esEs14(Integer(x0), Integer(x1))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs20(x0, x1, ty_Int)
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_ltEs11(False, False)
new_compare24(x0, x1, True, x2, x3)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt19(x0, x1, ty_Integer)
new_primCompAux00(x0, GT)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, ty_Char)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, x2)
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Left(x0), Left(x1), ty_@0, x2)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Zero, Succ(x0))
new_esEs8(EQ, EQ)
new_splitLT10(x0, x1, x2, x3, x4, x5, x6, x7, False, x8, x9, x10)
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs33(x0, x1, ty_Int)
new_esEs9(x0, x1, ty_Bool)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_lt21(x0, x1, ty_Float)
new_emptyFM(x0, x1, x2)
new_lt7(x0, x1, ty_Integer)
new_esEs33(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_[], x2))
new_addToFM0(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9)
new_esEs32(x0, x1, app(ty_[], x2))
new_compare14(x0, x1, True, x2)
new_ltEs19(x0, x1, ty_Int)
new_esEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_lt21(x0, x1, app(ty_[], x2))
new_esEs31(x0, x1, ty_Int)
new_ltEs11(False, True)
new_ltEs11(True, False)
new_esEs24(x0, x1, ty_Bool)
new_compare110(x0, x1, True, x2, x3)
new_esEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_gt(x0, x1, x2, x3)
new_ltEs10(Right(x0), Right(x1), x2, ty_Integer)
new_esEs19(x0, x1, ty_Double)
new_compare210(x0, x1, False)
new_ltEs5(x0, x1, app(ty_[], x2))
new_mkBranch(x0, x1, x2, x3, x4, x5, x6)
new_sr0(Integer(x0), Integer(x1))
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_mkVBalBranch(x0, x1, x2, Branch(x3, x4, x5, x6, x7), EmptyFM, x8, x9, x10)
new_lt7(x0, x1, ty_Double)
new_ltEs13(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1, x2, x3)
new_splitLT0(EmptyFM, x0, x1, x2, x3, x4)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_lt7(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs5(Left(x0), Left(x1), ty_Char, x2)
new_ltEs5(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Int)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs31(x0, x1, ty_Integer)
new_esEs24(x0, x1, ty_Ordering)
new_lt8(x0, x1)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, ty_@0)
new_primPlusInt2(Neg(x0), x1, x2, x3, x4, x5)
new_splitGT10(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9, x10)
new_ltEs6(GT, GT)
new_ltEs10(Left(x0), Left(x1), ty_Ordering, x2)
new_compare28(x0, x1, False)
new_esEs31(x0, x1, app(ty_[], x2))
new_primCmpNat2(Succ(x0), Succ(x1))
new_pePe(True, x0)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, ty_Ordering)
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_compare11(x0, x1, False)
new_esEs22(x0, x1, ty_Bool)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare13(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs23(x0, x1, ty_Integer)
new_lt19(x0, x1, ty_Int)
new_mkVBalBranch(x0, x1, x2, Branch(x3, x4, x5, x6, x7), Branch(x8, x9, x10, x11, x12), x13, x14, x15)
new_esEs4(Nothing, Just(x0), x1)
new_splitLT10(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9, x10)
new_ltEs20(x0, x1, ty_Float)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Right(x0), Right(x1), x2, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_compare32(x0, x1, app(app(ty_@2, x2), x3))
new_pePe(False, x0)
new_esEs24(x0, x1, ty_Integer)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_[], x3))
new_addToFM_C4(Branch(x0, x1, x2, x3, x4), x5, x6, x7, x8, x9, x10)
new_esEs24(x0, x1, app(ty_[], x2))
new_compare25(x0, x1, True, x2, x3, x4)
new_lt7(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Float)
new_esEs31(x0, x1, ty_Ordering)
new_compare5(:(x0, x1), :(x2, x3), x4)
new_esEs19(x0, x1, ty_Bool)
new_primCmpNat2(Zero, Succ(x0))
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_mkVBalBranch0(x0, x1, x2, x3, x4, x5, x6, EmptyFM, x7, x8, x9)
new_esEs23(x0, x1, ty_Bool)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(LT, LT)
new_esEs33(x0, x1, ty_Double)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, True)
new_lt19(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs25(x0, x1, ty_Int)
new_ltEs10(Left(x0), Left(x1), ty_Integer, x2)
new_compare210(x0, x1, True)
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_splitLT20(x0, x1, x2, x3, x4, x5, x6, x7, False, x8, x9, x10)
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Char)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_lt7(x0, x1, ty_Int)
new_ltEs7(x0, x1)
new_asAs(False, x0)
new_esEs19(x0, x1, ty_Ordering)
new_esEs23(x0, x1, ty_Ordering)
new_esEs31(x0, x1, ty_Float)
new_esEs16([], :(x0, x1), x2)
new_ltEs20(x0, x1, ty_Double)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Int)
new_compare9(Float(x0, x1), Float(x2, x3))
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs9(x0, x1, ty_Int)
new_ltEs10(Right(x0), Right(x1), x2, ty_@0)
new_ltEs10(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs12(False, True)
new_esEs12(True, False)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
new_primPlusInt0(x0, Pos(x1))
new_mkBalBranch6MkBalBranch4(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_compare12(x0, x1, x2, x3, False, x4, x5)
new_esEs4(Just(x0), Nothing, x1)
new_lt20(x0, x1, ty_@0)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_lt19(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Double)
new_ltEs10(Right(x0), Right(x1), x2, ty_Bool)
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs5(x0, x1, ty_Double)
new_esEs33(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_esEs24(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_@0)
new_ltEs5(x0, x1, ty_Bool)
new_not(True)
new_esEs32(x0, x1, ty_Bool)
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primMinusNat0(Zero, Succ(x0))
new_esEs27(x0, x1, ty_Char)
new_ltEs20(x0, x1, ty_@0)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, ty_Integer)
new_lt11(x0, x1)
new_esEs21(x0, x1, ty_@0)
new_esEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primCmpNat0(x0, Succ(x1))
new_lt21(x0, x1, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_compare5(:(x0, x1), [], x2)
new_compare19(:%(x0, x1), :%(x2, x3), ty_Integer)
new_not(False)
new_ltEs5(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_Integer)
new_primCmpNat2(Succ(x0), Zero)
new_esEs32(x0, x1, ty_Int)
new_esEs33(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Nothing, x1)
new_ltEs10(Right(x0), Right(x1), x2, ty_Int)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_ltEs15(x0, x1)
new_esEs5(Left(x0), Left(x1), ty_Float, x2)
new_lt5(x0, x1, x2, x3, x4)
new_ltEs6(GT, EQ)
new_ltEs6(EQ, GT)
new_esEs25(x0, x1, ty_Bool)
new_sizeFM0(Branch(x0, x1, x2, x3, x4), x5, x6, x7)
new_compare19(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_asAs(True, x0)
new_esEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs14(x0, x1)
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs21(x0, x1, ty_Float)
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9, x10)
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_mkVBalBranch0(x0, x1, x2, x3, x4, x5, x6, Branch(x7, x8, x9, x10, x11), x12, x13, x14)
new_esEs15(Char(x0), Char(x1))
new_splitGT20(x0, x1, x2, x3, x4, x5, x6, x7, False, x8, x9, x10)
new_esEs19(x0, x1, ty_Integer)
new_esEs19(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_lt19(x0, x1, app(ty_Maybe, x2))
new_addToFM_C20(x0, x1, x2, x3, x4, x5, x6, True, x7, x8, x9)
new_addToFM_C30(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9)
new_primCompAux0(x0, x1, x2, x3)
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_addToFM(x0, x1, x2, x3, x4, x5, x6)
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_esEs18(:%(x0, x1), :%(x2, x3), x4)
new_lt20(x0, x1, ty_Float)
new_ltEs10(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs31(x0, x1, ty_@0)
new_gt1(x0, x1)
new_esEs31(x0, x1, ty_Char)
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, ty_@0)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare15(x0, x1, x2, x3)
new_compare27(x0, x1)
new_mkBalBranch(x0, x1, x2, x3, x4, x5, x6)
new_ltEs5(x0, x1, ty_Float)
new_splitGT0(EmptyFM, x0, x1, x2, x3, x4)
new_esEs26(x0, x1, ty_Char)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs20(x0, x1, ty_Float)
new_ltEs19(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Integer)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_Float)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_lt7(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Double)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_esEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_lt13(x0, x1)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_lt18(x0, x1, x2)
new_lt9(x0, x1, x2)
new_mkBalBranch6MkBalBranch5(x0, x1, x2, x3, True, x4, x5, x6)
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs17(x0, x1)
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, ty_@0)
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_splitLT0(Branch(x0, x1, x2, x3, x4), x5, x6, x7, x8, x9)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_primEqInt(Pos(Zero), Pos(Zero))
new_lt14(x0, x1, x2, x3)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt20(x0, x1, ty_Char)
new_esEs25(x0, x1, ty_Float)
new_lt15(x0, x1)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primEqNat0(Zero, Succ(x0))
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, x6, EmptyFM, False, x7, x8, x9)
new_esEs23(x0, x1, ty_Double)
new_esEs13(Float(x0, x1), Float(x2, x3))
new_compare31(Char(x0), Char(x1))
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_lt16(x0, x1, x2)
new_lt6(x0, x1)
new_mkBalBranch6MkBalBranch4(x0, x1, EmptyFM, x2, True, x3, x4, x5)
new_esEs9(x0, x1, ty_@0)
new_ltEs19(x0, x1, ty_Integer)
new_lt19(x0, x1, ty_Ordering)
new_lt7(x0, x1, app(ty_Maybe, x2))
new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13, x14)
new_esEs20(x0, x1, ty_Char)
new_mkVBalBranch30(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14)
new_primPlusNat0(Succ(x0), Zero)
new_esEs21(x0, x1, ty_Bool)
new_lt12(x0, x1)
new_esEs20(x0, x1, ty_Bool)
new_mkVBalBranch3MkVBalBranch10(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, False, x12, x13, x14)
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare5([], :(x0, x1), x2)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_ltEs11(True, True)
new_compare18(x0, x1, x2)
new_esEs26(x0, x1, ty_@0)
new_ltEs8(Nothing, Nothing, x0)
new_ltEs12(x0, x1)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_lt7(x0, x1, ty_Ordering)
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, x6, Branch(x7, x8, x9, x10, x11), False, x12, x13, x14)
From the DPs we obtained the following set of size-change graphs: